22.06.2023, 01:29 | #1 |
Участник
|
Конфликт сортировки
Бодрого дня всем читающим этот форум!
Коллеги, снова взываю к коллективному разуму. Нужна ваша помощь! Имеется в наличии: MS Dynamics NAV 2016 (9.0.46290.0). База крутится на MS SQL Server 12.0.6439. У базы данных в свойствах выбрана сортировка: Latin1_General_100_CS_AS У SQL сервера сортировка: Latin1_General_CI_AS Конфигурация: рассчет з/пл Дело происходит в Германии, поэтому все системы "немецко-говорящие". В некоторых разделах программы вызывается процедура проверки лицензии: проверяется какие модули лицензированы и какие таблицы имеют данные. Когда идет обращение к виртуальной таблице 2000000028 (Table Information), вылетает сообщение об ошибке: Der folgende SQL-Fehler war nicht erwarte: Ein Sortierungskonflikt für den replace-Vorgang kann nicht aufgelöst werden. Anweisung(en) konnte(n) nicht vorbereitet werden. (В переводе на русский: "Следующая ошибка SQL не ожидалась: Конфликт сортировки для операции замены не может быть разрешен. Команда не может быть подготовлена.") Эта ошибка вылетает на строках: Код: TableInfo.SETFILTER("No. of Records", '>%1',0); EXIT(TableInfo.FIND('-'); Есть идеи, где собака зарыта? Где копать? и Как исправить? |
|
22.06.2023, 15:02 | #2 |
Участник
|
можно попробовать перебить collation у полей таблицы, на которой возникают проблемы, чтобы collation совпадал с таковым у сервера
|
|
22.06.2023, 17:54 | #3 |
Участник
|
Благодарю за ответ.
Но, к сожалению, речь идет не о физической, а о виртуальной таблице. Ее нет на сервере в списке всех таблиц. Она создается в процессе работы программы. Как я уже писала, у нас неск. разных версий НАВ крутится на SQL серверах разных версий. Проблема возникает только на той консталляции, которая указана в первом сообщении. |
|
22.06.2023, 18:34 | #4 |
Участник
|
А она случаем на лету в tempDb не создается ?
Если так тогда понятно в чем проблема так как в TempDb collation в у сервера. Решения сходу не предложу, кроме как базу мигрировать на другой сервак, чтобы коллейшены совпадали. |
|
22.06.2023, 22:59 | #5 |
Участник
|
То, что виртуальная таблица создается в TempDB и у TempDB такая же сортировка, как и у сервера - это понятно. Но непонятно, почему это должно приводить к конфликту?
На том же сервере стоит еще одна база от NAV 5. У нее collation Latin1_gereral_CS_AS. С этой базой проблем нет. Еще один сервер: версия 12.0.6164 На нем сортировка: SQL_Latin1_General_CP1_CI_AS DB Collation: French_100_CS_AS Никаких проблем с таблицей "Table Information" И еще один сервер: 14.0.3460.9 Server collation: Latin1_General_CI_AS DB Collation: French_100_CS_AS без проблем всё работает. Закралось подозрение. что дело вовсе не в сортировке. |
|
23.06.2023, 17:51 | #6 |
Участник
|
Еще один момент: с другими виртуальными таблицами (например, таблица Field или таблица Object) проблем не возникает.
|
|
|
Похожие темы | ||||
Тема | Ответов | |||
Изменение порядка сортировки | 4 | |||
Attain. Конфликт фильтра по таблице и фильтра в правах пользователя | 2 |
|