AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Администрирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.08.2011, 19:22   #1  
ATitov is offline
ATitov
Участник
 
7 / 10 (1) +
Регистрация: 01.08.2011
Доброго времени суток.
Сразу скажу, что ранее не приходилось устанавливать Navision 2009. По инструкции установил:
1. Отдельную машину под Win2008 R2 с SQL 2005
2. Отдельную машину под Win2008 R2 c NAVServer
и с клиентского компьютера пытаюсь получить доступ к демо базе.
С помошью классического клиента получаю доступ к SQL серверу и могу работать с БД, а вот Ролеориентированный выдает замечательное сообщение ( на картинке ) и дальше не знаю что делать...
Изображения
 
Старый 01.08.2011, 19:56   #2  
ATitov is offline
ATitov
Участник
 
7 / 10 (1) +
Регистрация: 01.08.2011
Добавлю некоторые корректировки:
На серверах используется AD
Подключиться я могу с помощью классического клиента к серверу SQL
А вот сервер NAV выдает или сообщение выше или. как начал показывать сейчас:
"Хост подключения TCP/IP не отвечает (ошибка TCP/IP econnrefused)"

При этом telnet NAV 7046 получается...
Варианты?
Старый 01.08.2011, 22:59   #3  
alexb_imported is offline
alexb_imported
Участник
 
256 / 12 (1) ++
Регистрация: 25.08.2006
stored procedure's "xp_ndo_enumusergroups" и "xp_ndo_enumusersids" с соотв. DLL для master-DB на SQL-сервере проинсталлировали?
Старый 01.08.2011, 23:04   #4  
ATitov is offline
ATitov
Участник
 
7 / 10 (1) +
Регистрация: 01.08.2011
Цитата:
Сообщение от AlexB Посмотреть сообщение
stored procedure's "xp_ndo_enumusergroups" и "xp_ndo_enumusersids" с соотв. DLL для master-DB на SQL-сервере проинсталлировали?
Да. процедуры установил. Поскольку система x64, то и xp_ndo_x64.dll прописал. Права на запуск дал для public и guest.
Правда система начала насчет x64 ругаться и я вернул стандартные xp_ndo.dll
Старый 01.08.2011, 23:28   #5  
Alesha is offline
Alesha
Участник
 
143 / 10 (1) +
Регистрация: 05.08.2009
А что прописано в файле ClientUserSettings.config ? Там база данных с сервером правильно указаны?
Старый 02.08.2011, 00:52   #6  
alexb_imported is offline
alexb_imported
Участник
 
256 / 12 (1) ++
Регистрация: 25.08.2006
Попробуйте активировать listener как описано здесь
Старый 02.08.2011, 10:34   #7  
ATitov is offline
ATitov
Участник
 
7 / 10 (1) +
Регистрация: 01.08.2011
Цитата:
Сообщение от Alesha Посмотреть сообщение
А что прописано в файле ClientUserSettings.config ? Там база данных с сервером правильно указаны?
Проверял несколько раз. Чуть ниже файл с самого сервера где сервер NAV установлен. У меня даже локально не хочет к нему подключаться

[spoiler]
Код:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
	<appSettings>
		<!-- 
      Name of the machine hosting the Microsoft Dynamics Nav Server to 
      be connected to.
    -->
		<add key="Server" value="localhost"></add>
		<!-- 
      Name of the Microsoft Dynamics NAV Server instance to connect
      to (for client) or listen on (for server).
    -->
		<add key="ServerInstance" value="DynamicsNAV"></add>
		<!--
      The listening TCP port for the Microsoft Dynamics NAV Server.
      This is part of the server's URL.
      Valid range: 1-65535
    -->
		<add key="ServerPort" value="7046"></add>
		<!--
      The security services used to protect the client/server data stream.
      Valid options: EncryptAndSign, Sign, None
    -->
		<add key="ProtectionLevel" value="EncryptAndSign"></add>
		<!--
      Collection of past servers that have been connected to. This setting
      should not be edited by the user.
    -->
		<add key="UrlHistory" value=""></add>
		<!--
      Threshold for when to start compressing data sets to avoid that they 
      consume prohibitive amounts of memory.
    -->
		<add key="CompressionThreshold" value="64"></add>
		<!--
      Sets the default size of a chunk, in KB. Should be a value between 4 and 80.
    -->
		<add key="ChunkSize" value="28"></add>
		<!--
      Specifies whether NTLM fallback is permitted when autenticating. 
      To require Kerberos authentication, set this value to false
    -->
		<add key="AllowNtlm" value="true"></add>
		<!--
      Specifies whether the service requires an SPN. 
      If true, the connection will only be made to a service with an SPN <SerververInstance>/<Server>:<ServerPort>
      If false, the connection will be attempted to a service with or without an SPN.
    -->
		<add key="ServicePrincipalNameRequired" value="False"></add>
		<!--
      Specifies the maximum amount of time to establish a connection to the server.
      Time span format: [dd.]hh:mm:ss[.ff]
          dd: days
          hh: hours
          mm: minutes
          ss: seconds
          ff: fractions of a second
      Or "MaxValue" to indicate there is no timeout.
    -->
		<add key="OpenConnectionTimeout" value="00:00:30"></add>
		<!--  
      The type of client credential used for authentication. (Values are Windows/UserName)
    -->
		<add key="ClientCredentialType" value="Windows"></add>
		<!--
      One of the initial checks when a client authenticates a server is to compare the value of the Subject field to the Uniform Resource Identifier (URI) used to contact the service: the DNS of both must match. 
      For example, if the URI of the service is "net.tcp://NavServer.com:7046/DynamicsNav/Service." then the Subject field must also contain the value "NavServer.com". 
      Most commonly, the initialization is "CN" for common name, for example, "CN = NavServer.com". 
      It is also possible for the Subject field to be blank, in which case the Subject Alternative Name field can contain the DNS Name value. 
      The DnsIdentity configuration settings can be used to associate and endpoint with the specified Dns name.
    -->
		<add key="DnsIdentity" value=""></add>
	</appSettings>
</configuration>
[/spoiler]
Старый 02.08.2011, 10:38   #8  
ATitov is offline
ATitov
Участник
 
7 / 10 (1) +
Регистрация: 01.08.2011
Цитата:
Сообщение от AlexB Посмотреть сообщение
Попробуйте активировать listener как описано здесь
Видимо я еще плохо разобрался в механизмах, но при попытке сделать запрос:
Код:
USE MASTER
CREATE LOGIN Администратор FROM WINDOWS;
GO
выдает, что надо писать с названием домена. При запросе baltcompany\Администратор выдает ошибку:
Код:
Msg 102. Level 15, State 1, Line 2
Incorrect syntax near `\`.
Системе не нравится имя пользователя на русском языке?
Старый 02.08.2011, 14:58   #9  
alexb_imported is offline
alexb_imported
Участник
 
256 / 12 (1) ++
Регистрация: 25.08.2006
Цитата:
Сообщение от ATitov Посмотреть сообщение
Видимо я еще плохо разобрался в механизмах, но при попытке сделать запрос:
Код:
USE MASTER
CREATE LOGIN Администратор FROM WINDOWS;
GO
выдает, что надо писать с названием домена. При запросе baltcompany\Администратор выдает ошибку:
Код:
Msg 102. Level 15, State 1, Line 2
Incorrect syntax near `\`.
Системе не нравится имя пользователя на русском языке?
Ни механизм, ни рус. язык не виноваты, вы просто не соблюдаете SQL-синтакс. В примере на ссылке указано же, что имя юзер'а надо заключить в квадратные скобки
Код:
USE MASTER
go
CREATE LOGIN [baltcompany\Администратор] FROM WINDOWS;
GO
и всё получится.
В конце-концов юзер'a можно не SQL-скриптом а мышкой в SQL Server Management Studio завести
Старый 02.08.2011, 19:16   #10  
ATitov is offline
ATitov
Участник
 
7 / 10 (1) +
Регистрация: 01.08.2011
С вашей помошью и шаманских плясок запустил сервера, но теперь еще возникла проблема... что-то я сделал с правами доступа.
При запуске RTC практически сразу падает служба NAV server с фразой в логах:

Код:
Тип события:	Ошибка
Источник события:	MicrosoftDynamicsNAVServer
Категория события:	Отсутствует
Код события:	0
Дата:		02.08.2011
Время:		18:51:06
Пользователь:		Н/Д
Компьютер:	NAV-SRV
Описание:
Service: 
User: NAV-SRV\Администратор
Type: System.Data.SqlClient.SqlException
Class: 14
LineNumber: 1
Number: 229
Server: nav-sql
State: 5
Source: .Net SqlClient Data Provider
ErrorCode: -2146232060
Message: The SELECT permission was denied on the object 'Object Tracking', database 'Retail', schema 'dbo'.
StackTrace:
     at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
     at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
     at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
     at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
     at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
     at System.Data.SqlClient.SqlDataReader.get_MetaData()
     at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
     at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
     at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
     at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
     at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
     at System.Data.SqlClient.SqlCommand.ExecuteReader()
     at Microsoft.Dynamics.Nav.Runtime.NavDatabaseChangeListener.TryExecuteReader()
     at Microsoft.Dynamics.Nav.Runtime.NavDatabaseChangeListener.CollectTrackingObjects()
     at Microsoft.Dynamics.Nav.Runtime.NavDatabaseChangeListener.TimerHandler(Object param)
Понимаю, что надо дать какой-то доступ и скорее всего пункт 9 из предложенной ранее инструкции, но что туда вписывать?
Код:
ALTER USER [ReplaceWithNAVServerAccount] WITH DEFAULT_SCHEMA = [$ndo$navlistener];
GRANT SELECT ON [Object Tracking] TO [ReplaceWithNAVServerAccount];
GO
Даю команду
alter user [baltcompany\Администратор] with default_schema = [$ndo$navlistener];
grant select on [Object Tracking] to [baltcompany\Администратор];
GO
на выходе получаю:
Сообщение 15151, уровень 16, состояние 1, строка 2
Cannot find the object 'Object Tracking', because it does not exist or you do not have permission.
Старый 02.08.2011, 19:34   #11  
ATitov is offline
ATitov
Участник
 
7 / 10 (1) +
Регистрация: 01.08.2011
Я совсем запутался в причинах и следствии
Имеем:
Сервер NAV-SQL где стоит SQl 2005. На нем я стабильно через классический клиент подключаюсь к базе SQL и все нормально
Сервер NAV-SRV установлен NAV server. С него я могу подключиться к базе SQL через классический клиент, а вот со всем остальным шоу:
классический клиент опять выдает
"Хост подключения TCP/IP не отвечает (ошибка TCP/IP econnrefused)"
А RTC подключается, но практически сразу выдает указанную выше ошибку, что не хватает прав

Проблема получается в совмещении серверов.
Старый 02.08.2011, 22:25   #12  
alexb_imported is offline
alexb_imported
Участник
 
256 / 12 (1) ++
Регистрация: 25.08.2006
Цитата:
Сообщение от ATitov Посмотреть сообщение
Понимаю, что надо дать какой-то доступ и скорее всего пункт 9 из предложенной ранее инструкции, но что туда вписывать?

Даю команду
alter user [baltcompany\Администратор] with default_schema = [$ndo$navlistener];
grant select on [Object Tracking] to [baltcompany\Администратор];
GO
на выходе получаю:
Сообщение 15151, уровень 16, состояние 1, строка 2
Cannot find the object 'Object Tracking', because it does not exist or you do not have permission.
Скорее всего у вас опять ошибка в SQL-синтаксе: прежде чем дать права юзер'у на таблицу скажите SQL-сеrеверу, для какой БД вы это хотите сделать.

Пропишите:

Код:
USE [Retail]
GO
ALTER USER [baltcompany\Администратор] WITH DEFAULT_SCHEMA = [$ndo$navlistener];
GRANT SELECT ON [Object Tracking] TO [baltcompany\Администратор];
GO
ALTER DATABASE [Retail] SET ENABLE_BROKER
После того как всё выполнилось, перезапустите службы SQL-сервера и Microsoft Dynamics NAV Server'a.

==============================================================================
Либо у вас отсутствует в вашей ДБ "Retail" таблица "Object Tracking" (на SQL-сервере она называется dbo.Object Tracking, в навижене это таблица 2000000079 "Object Tracking") чего по идеее не может быть!
Или вы пытаетесь дать права на таблицу "Object Tracking" юзер'у [baltcompany\Администратор], хотя сами не имеете права на SQL-сервере такие права раздавать. Зайдите на SQL-сервер с правами SA.
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 10:11.