Последовательность сортировки Не поддерживается операционной системой - PullRequest
0 голосов
/ 06 декабря 2009

Я перехожу с SQL 2000 на SQL 2008. SQL 2000 на сервере 2003. SQL 2008 на сервере 2008. Я успешно импортировал свою базу данных. Я могу выполнять запросы, и они работают нормально. Я использую программу VB6, запущенную в IDE, для обновления базы данных.

Когда моя программа VB6 работает на сервере 2003, программа подключится с использованием следующей строки подключения:

Provider=SQLOLEDB;DATABASE=mydbname;SERVER=my ip;DRIVER={SQL SERVER};UID=myuser;PWD=mypw;

Используя приведенную выше строку подключения, я могу без ошибок подключиться либо к SQL 2000, либо к новой базе данных SQL 2008. На сервере 2008 нет драйвера SQLOLEDB, поэтому мне нужно использовать новый поставщик SQLNCLI10

CCTdbConnectionString = "Provider=SQLNCLI10;Server=myServer\My InstanceName;Database=MyDB;UID=myuser;PWD=mypw;

Вот проблема. Когда я работаю на Сервере 2008, я получаю ошибку 3228 Выбранная последовательность сортировки не поддерживается операционной системой. Если я нажму «Отладка» и попытаюсь снова, или остановлю программу и попытаюсь снова, она пройдет мимо этой ошибки, пока я не открою IDE. Тогда я получаю 2-ю ошибку, обнаруженную, это ошибка 3027 Can Not Update. База данных или объект только для чтения! Это никогда не исчезнет, ​​и я мертв.

Ответы [ 2 ]

2 голосов
/ 23 декабря 2009

После долгих исследований я нашел ответ. SQL 2005 и выше, очевидно, требуют наличия уникального индекса ключа для каждой таблицы, доступ к которой осуществляется с использованием ODBC или OLEDB. Это излечивает проблему.

0 голосов
/ 06 декабря 2009

Скомпилируйте код: не используете IDE?

Связанные KS KB статья 246167

...