Подключение Navision SQL базы данных W1 (международная) на русском ‘клиенте’


Казалось бы, тут не должно быть никаких проблем.


Но дело в том, что в демонстрационной БД по умолчанию включена галочка “Проверка кодовой страницы” (Validate Code Page). И если просто при-аттачить базу данных W1 взятую с Product CD.


OffCheckCodePageSQL1


То при открытии этой базы данных русским ‘клиентом’ (Navision) будет выдана ошибка.


OffCheckCodePageSQL2


OffCheckCodePageSQL3


В тексте этой ошибки рекомендуют отключить параметр ‘Контроль кодовой страницы’ через окно ‘Изменить БД’.
Но сделать этого не получиться, так как открыть базу нет возможности.



Как быть? — Надо отключить параметр проверки кодовой страницы через SQL.


Для того что бы понять какой sql-код нам нужен возьмем русскую БД (ее то мы может открыть) и при включенной sql-трассировке отожмем проблемную галочку.


Открываем русскую SQL базу данных Navision (какую-нибудь тестовую).


OffCheckCodePageSQL4


Открываем окно ‘Изменить БД’.


OffCheckCodePageSQL5


Выставляем параметр монопольного использования БД “Single user” (потом не забыть вернуть обратно).


OffCheckCodePageSQL6


Запускаем sql-трассировку (SQL Server Profiler).


OffCheckCodePageSQL7


OffCheckCodePageSQL8


Отжимаем проблемную галочку. Помним, что сопоставление надо оставить старое — (Cyrillic).


OffCheckCodePageSQL9


Смотрим получившийся след в SQL Server Profiler. Видим sql-код вида ‘ SET “checkcodepage” ’.


OffCheckCodePageSQL10


Создаем для базы данных W1 sql-запрос и запускаем скопированный из SQL Server Profiler код:
exec sp_executesql N’UPDATE «dbo».»$ndo$dbproperty» SET «checkcodepage» = @P1′, N’@P1 int’, 0


OffCheckCodePageSQL11


Открываем базу данных W1 и видим, в ‘Изменить БД’, что галочка “Проверка кодовой страницы” отжата.


OffCheckCodePageSQL12


OffCheckCodePageSQL13

Comments (0)