01.08.2011, 19:22 | #1 |
Участник
|
Доброго времени суток.
Сразу скажу, что ранее не приходилось устанавливать Navision 2009. По инструкции установил: 1. Отдельную машину под Win2008 R2 с SQL 2005 2. Отдельную машину под Win2008 R2 c NAVServer и с клиентского компьютера пытаюсь получить доступ к демо базе. С помошью классического клиента получаю доступ к SQL серверу и могу работать с БД, а вот Ролеориентированный выдает замечательное сообщение ( на картинке ) и дальше не знаю что делать... |
|
01.08.2011, 19:56 | #2 |
Участник
|
Добавлю некоторые корректировки:
На серверах используется AD Подключиться я могу с помощью классического клиента к серверу SQL А вот сервер NAV выдает или сообщение выше или. как начал показывать сейчас: "Хост подключения TCP/IP не отвечает (ошибка TCP/IP econnrefused)" При этом telnet NAV 7046 получается... Варианты? |
|
01.08.2011, 22:59 | #3 |
Участник
|
stored procedure's "xp_ndo_enumusergroups" и "xp_ndo_enumusersids" с соотв. DLL для master-DB на SQL-сервере проинсталлировали?
|
|
01.08.2011, 23:04 | #4 |
Участник
|
Цитата:
Правда система начала насчет x64 ругаться и я вернул стандартные xp_ndo.dll |
|
01.08.2011, 23:28 | #5 |
Участник
|
А что прописано в файле ClientUserSettings.config ? Там база данных с сервером правильно указаны?
|
|
02.08.2011, 00:52 | #6 |
Участник
|
Попробуйте активировать listener как описано здесь
|
|
02.08.2011, 10:34 | #7 |
Участник
|
Цитата:
[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> |
|
02.08.2011, 10:38 | #8 |
Участник
|
Цитата:
Сообщение от AlexB
Попробуйте активировать listener как описано здесь
Код: USE MASTER CREATE LOGIN Администратор FROM WINDOWS; GO Код: Msg 102. Level 15, State 1, Line 2 Incorrect syntax near `\`. |
|
02.08.2011, 14:58 | #9 |
Участник
|
Цитата:
Сообщение от ATitov
Видимо я еще плохо разобрался в механизмах, но при попытке сделать запрос:
Код: USE MASTER CREATE LOGIN Администратор FROM WINDOWS; GO Код: Msg 102. Level 15, State 1, Line 2 Incorrect syntax near `\`. Код: USE MASTER go CREATE LOGIN [baltcompany\Администратор] FROM WINDOWS; GO В конце-концов юзер'a можно не SQL-скриптом а мышкой в SQL Server Management Studio завести |
|
02.08.2011, 19:16 | #10 |
Участник
|
С вашей помошью и шаманских плясок запустил сервера, но теперь еще возникла проблема... что-то я сделал с правами доступа.
При запуске 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) Код: 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 |
Участник
|
Я совсем запутался в причинах и следствии
Имеем: Сервер NAV-SQL где стоит SQl 2005. На нем я стабильно через классический клиент подключаюсь к базе SQL и все нормально Сервер NAV-SRV установлен NAV server. С него я могу подключиться к базе SQL через классический клиент, а вот со всем остальным шоу: классический клиент опять выдает "Хост подключения TCP/IP не отвечает (ошибка TCP/IP econnrefused)" А RTC подключается, но практически сразу выдает указанную выше ошибку, что не хватает прав Проблема получается в совмещении серверов. |
|
02.08.2011, 22:25 | #12 |
Участник
|
Цитата:
Сообщение от 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. Пропишите: Код: 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 ============================================================================== Либо у вас отсутствует в вашей ДБ "Retail" таблица "Object Tracking" (на SQL-сервере она называется dbo.Object Tracking, в навижене это таблица 2000000079 "Object Tracking") чего по идеее не может быть! Или вы пытаетесь дать права на таблицу "Object Tracking" юзер'у [baltcompany\Администратор], хотя сами не имеете права на SQL-сервере такие права раздавать. Зайдите на SQL-сервер с правами SA. |
|