Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Ошибка в запросе при выполнении объединения varchar
|
|||
|---|---|---|---|
|
#18+
Исходные данные: У всех клиентов устанавливается база с Collation Cyrillic_General_CI_AS И как бы с этими вопросами я не заморачивался, пока не попался один клиент, у которого стояло почему-то Cyrillic_General_CI_AI Делали очередное обновление БД, скрипт обновления базы упал на строке Код: sql 1. 2. Implicit conversion of varchar value to varchar cannot be performed because the collation of the value is unresolved due to a collation conflict between "Cyrillic_General_CI_AI" and "Cyrillic_General_CI_AS" in add operator. Решили сделать у данного клиента collation как у всех, т.е. Код: sql 1. Но появилось куча ошибок типа The object 'UDF_STRLIST_TO_TABLE' is dependent on database collation. The database collation cannot be changed if a schema-bound object depends on it. Remove the dependencies on the database collation and then retry the operation. Msg 5072, Level 16, State 1, Line 1 Вопрос 1: А где увидеть, что The object 'UDF_STRLIST_TO_TABLE' is dependent on database collation? Вопрос 2: Как победить данную ситуацию? И как Remove the dependencies on the database collation? Грохнуть данные объекты и создать заново после изменения Collation? Вопрос 3: как вообще правильно писать подобные запросы, чтоб избежать подобных ошибок? или лучше всех клиентов выставить Collation Cyrillic_General_CI_AS, ибо ничего другого и не нужно На всякий случай текст функции Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2019, 11:29 |
|
||
|
Ошибка в запросе при выполнении объединения varchar
|
|||
|---|---|---|---|
|
#18+
У вас в определении функции наверно есть WITH SCHEMABINDING (вы-то показали текст без этого параметра). Иногда так писать просто необходимо. Но объекты, объявленные как WITH SCHEMABINDING, накладывают определённые ограничения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2019, 12:07 |
|
||
|
Ошибка в запросе при выполнении объединения varchar
|
|||
|---|---|---|---|
|
#18+
iapУ вас в определении функции наверно есть WITH SCHEMABINDING (вы-то показали текст без этого параметра). Иногда так писать просто необходимо. Но объекты, объявленные как WITH SCHEMABINDING, накладывают определённые ограничения.Возможно, я и неправ насчёт SCHEMABINDING? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2019, 12:10 |
|
||
|
Ошибка в запросе при выполнении объединения varchar
|
|||
|---|---|---|---|
|
#18+
iap, Сделал Script Function as... Create to Нет там такого параметра. В перечне ошибок, из-за которых база не преобразуется, еще и есть The statistics 'FuelSell.IX_FuelSell_By_AccountNumber' is dependent on database collation Остальные 7 ошибок на функции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2019, 12:12 |
|
||
|
Ошибка в запросе при выполнении объединения varchar
|
|||
|---|---|---|---|
|
#18+
minvaiap, Сделал Script Function as... Create to Нет там такого параметра. В перечне ошибок, из-за которых база не преобразуется, еще и есть The statistics 'FuelSell.IX_FuelSell_By_AccountNumber' is dependent on database collation Остальные 7 ошибок на функцииВообще, сменить COLLATE у всей базы - это очень смело. Речь, по-видимому, идёт не о конкретной функции, а о других объектах базы, которые создавались с COLLATE по-умолчанию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2019, 12:21 |
|
||
|
Ошибка в запросе при выполнении объединения varchar
|
|||
|---|---|---|---|
|
#18+
minvaВопрос 3: как вообще правильно писать подобные запросы, чтоб избежать подобных ошибок? или лучше всех клиентов выставить Collation Cyrillic_General_CI_AS, ибо ничего другого и не нужно Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2019, 12:45 |
|
||
|
Ошибка в запросе при выполнении объединения varchar
|
|||
|---|---|---|---|
|
#18+
minvaВопрос 1: А где увидеть, что The object 'UDF_STRLIST_TO_TABLE' is dependent on database collation? Multi-statement Table-valued Functions со строковыми полями в резалтсете наверняка все будут провоцировать подобную ошибку. потому что все они возвращают table variable, а table variable наследует коллэйшен базы. ну или не наследует, если в явном виде прописывать коллэйшены строковых полей (что вряд ли кто делает) ваш случай как раз тот самый, возвращаете строки в функции. полный перечень того, что будет блокировать ваш ALTER DATABASE можно найти тут: ALTER DATABASE - Changing the Database Collation minvaВопрос 2: Как победить данную ситуацию? И как Remove the dependencies on the database collation? Грохнуть данные объекты и создать заново после изменения Collation? именно. заскриптовать, грохнуть, заново создать в базе с новым коллэйшеном ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2019, 13:01 |
|
||
|
Ошибка в запросе при выполнении объединения varchar
|
|||
|---|---|---|---|
|
#18+
Yasha123, спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2019, 13:24 |
|
||
|
Ошибка в запросе при выполнении объединения varchar
|
|||
|---|---|---|---|
|
#18+
Подниму снова темку >полный перечень того, что будет блокировать ваш ALTER DATABASE Перечень всего этого выпадает в ошибках. С момента написания этого топика проблема была решена, взяты объекты из выпавших ошибок, пересозданы, все хорошо Сейчас вернулся к к скрипту, который пересоздавал объекты, сразу не смог вспомнить, откуда я взял их перечень. Потом вспомнил, как это было, нашел этот свой топик, но остался невыясненным один вопрос А где увидеть, что The object 'UDF_STRLIST_TO_TABLE' is dependent on database collation? Т.е. как увидеть перечень этих объектов, как это сделать запросом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2019, 09:27 |
|
||
|
Ошибка в запросе при выполнении объединения varchar
|
|||
|---|---|---|---|
|
#18+
minvaкак увидеть перечень этих объектов, как это сделать запросом?Примерно так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2019, 11:07 |
|
||
|
|

start [/forum/search_topic.php?author=kornholio&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
get settings: |
6ms |
get forum list: |
11ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
315ms |
get topic data: |
9ms |
get forum data: |
5ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 1130ms |
| total: | 1566ms |

| 0 / 0 |
