0
wisekat
25.07.12
✎
16:07
|
С какого-то времени при формировании больших отчётов 1С стала вылетать с такой ошибкой:
SQL State:42000
Native:468
Message:[Microsoft][ODBC SQL Server Driver][SQL Server]Не удалось разрешить конфликт сортировки между "Ukrainian_CI_IS" и "Ukrainian_CI_AS" в операции equal to operation.
Побродив по форумам, понял, что, скорее всего, это проблема несовпадения collation sequence моей базы и встроенной tempdb. Проверил - действительно так. Руками в SQL Server Management Studio утановил одинаковые collation. Но не помогло...
|
|
3
wisekat
25.07.12
✎
18:30
|
Прбовал сделать так называемый Rebuild Master с указанием нового collation sequence для таблиц master, tempdb и т.д. через командную строку запуском setup.exe с нужными ключами. Делал что-то вроде
setup.exe /qb INSTANCENAME=MSSQLSERVER REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=test SQLCOLLATION=Ukrainian_CI_AI
Но это так и не заработало. Всё время спотыкался на странной ошибке 2711 от Web Office 2003 Components. При чём они тут?!...
В конце концов плюнул и просто перестановил SQL Server, указав нужную collation.
P.S. Проблемы с базой возникли после того, как делал restore из bak-файла, который мне заказчик прислал. У меня при установке SQL-я Ukrainian_CI_AS был использован, который я для соотв. базы автоматом использовал (server default), но оказывается, что при restore эта настройка затиралась той, которая у заказчика была - т.е Ukrainian_CI_AI. Отсюда и все траблы.
При установке SQL-я надо быть внимательным и там, где collation sequence спрашивается, обращать внимание на галочку "Accent Sensitive". Она и определяет будем ли мы получать _AI или _AS в collation name. Разрабы тупо сделали, что в диалоге установки нельзя сразу конкретную схему выбрать в комбобоксе - только общую "Ukrainian". Всё остальное потом флажками "подкручивать" надо.
|
|