Тема: ODBC и AX3
Показать сообщение отдельно
Старый 15.06.2007, 23:11   #12  
vesna dba is offline
vesna dba
Участник
 
147 / 16 (1) ++
Регистрация: 16.02.2007
Цитата:
Сообщение от AndyD Посмотреть сообщение
Этот загадочный протокол SQL "s"

В общем, автор этого сообщение имел в виду конечно же другое.
Просто, перед s пропущен знак процента. Если его поставить - то сразу же будет видно, что это - форматная строка. И при появлении сообщения в инфологе будет видно, как протокол на самом деле называется.
Для проверки настроил соединение через именованные каналы - и получил название протокола (точнее, имя файла библиотеки) "DBNMPNTW".

Для исправления такой ситуации, можно на сервере запретить все подключения, кроме TCP/IP. А можно создать псевдоним (alias) для сервера с указанием сетевой библиотеки TCP/IP

Если будете исправлять ktd-файл (А именно там находится это сообщение. Его номер #281 MSG_SQL_BAD_PROTOCOL), то не забудьте удалить kti-файл для соответствующего языка и перестартовать aos (или клиента для двухзвенки) - индексный файл пересоздастся
Все верно. Исправляем AXSYSRU.KTD, удаляем AXSYSRU.KTI. Стартуем AOS, получаем - загадочный протокол SQL "s" превращается в DBNETLIB.
Убираю в настройках AOS источник данных (AX 3.0 поддерживает работу без ODBC), рестартую AOS. Наблюдаю все ту же ошибку .
Возвращаю ODBC в настройках AOS, в настройках источника ODBC в настройках клиента снимаю галку "Динамически определить порт", указываю порт 1433. Сохраняю настройки ODBC, рестартую AOS - вуаля! - нет ошибки, связанной с "загадочным" протоколом.
Удаляю источник ODBC из настроек AOS, рестартую AOS - всеравно нет ошибки!
Видимо AOS запомнил параметры последнего типа подключения.
Все результаты получены эмпирическим методом. Кто опишет это теоретически - буду признателен.