powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ADP не знаю как ошибку назвать ....
14 сообщений из 14, страница 1 из 1
ADP не знаю как ошибку назвать ....
    #32292723
Фотография Артист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
законектился к сиквелу, куда не щёлкну (таблы, вьюхи, ...) пишет "cannot resolve collation for column 2 in SELECT statement" что за хрень? у нас к этой базе клиенты на всём чем тока можно написаны - и везде без проблем ...
взял бэкап той базы и на msde у себя заресторил - делаю adp - всё ОК!
в чём же дело на серваке?
...
Рейтинг: 0 / 0
ADP не знаю как ошибку назвать ....
    #32292742
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В ошибке все сказано.
Бывает если бекап с 7-го сервера восстанавливают на 2000-й
или даже совместимые, но при установке указан другой collation
см. соотв. свойство сервера/базы/таблцы/поля в EnterpriseMan
...
Рейтинг: 0 / 0
ADP не знаю как ошибку назвать ....
    #32293565
Фотография Артист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как бороться? collation сменить не помогло ...
и почему всем окромя adp на это плевать?
...
Рейтинг: 0 / 0
ADP не знаю как ошибку назвать ....
    #32293589
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>collation сменить не помогло ...

Разный был? Сменил на одинаковый - и все-равно колбасит? Наверное все-таки что-то забыл:

Из БОЛ (mk:@MSITStore:C:\Program%20Files\Microsoft%20SQL%20Server\80\Tools\Books\tsqlref.chm::/ts_da-db_7ory.htm)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
The predicate in the following query is evaluated in collation greek_ci_as because 
the right expression has the explicit label, which takes precedence over the implicit 
label of the right expression:

SELECT * 
FROM TestTab 
WHERE GreekCol = LatinCol COLLATE greek_ci_as

This is the result set.

id          GreekCol             LatinCol
  ----------- -------------------- --------------------
 
            1  a                    A

( 1  row affected)

The case expressions in the following queries have no collation label so they 
cannot appear in the select list or be operated by collation-sensitive operators. 
However, the expressions can be operated on by collation-insensitive operators.

SELECT (CASE WHEN id >  10  THEN GreekCol ELSE LatinCol END) 
FROM TestTab

Here is the result set.

Msg  451 , Level  16 , State  1 , Line  1 
Cannot resolve collation conflict for column  1  in SELECT statement.


Правила работы Collation Precedence приведены по указанной ссылке на БОЛ. Посмотри - может что поможет
...
Рейтинг: 0 / 0
ADP не знаю как ошибку назвать ....
    #32293663
Фотография Артист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разный был?
угу
Сменил на одинаковый - и все-равно колбасит?
всё равно ...
Наверное все-таки что-то забыл:
BOL читал... спасибо ... что забыл - не знаю... квалификации нехватает наверно :)

вечером чёнить попробую ... а то база боевая :)
вот ещё беда - если дело в изменении collation , то надо какуто коллейтию искать подобную, а то php-сты - дельфинисты ахнули как у них всё из-за регистра упало :)
...
Рейтинг: 0 / 0
ADP не знаю как ошибку назвать ....
    #32293738
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наверное проблема в колейшене в системных таблицах а именно в которых описывается макет таблиц и вьюх (размеры, порядок столбцов для отображения на экране)

смена колейшена по умолчанию для сервера не поможет
нужно менять колейшен для поля этой системной таблицы
...
Рейтинг: 0 / 0
ADP не знаю как ошибку назвать ....
    #32293751
Фотография Артист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей, я умолчания не менял, я и делал на базу alter collation и не помогло ....
...
Рейтинг: 0 / 0
ADP не знаю как ошибку назвать ....
    #32293821
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я же говорил это свойство есть у сервера/базы/таблицы/поля
если во вьюшке связь по полям с разным collation тогда будет такая ошибка.

Могу предложить 100% рабочий вариант, но уж очень трудоемкий:
1. Создается новая база с collation, который по умолчанию на сервере
2. Скриптами создаются все серверные объекты. (скрипты на таблицы )
3. Любым способом (я делал через мастер импорта/экспорта) перекачиваются данные.
...
Рейтинг: 0 / 0
ADP не знаю как ошибку назвать ....
    #32293824
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отвлекся там где написано (скрипты на таблицы ) нужно было
(скрипты на таблицы без collation)
...
Рейтинг: 0 / 0
ADP не знаю как ошибку назвать ....
    #32293862
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если через Alter Table COLLATE изменить у столбцов ?
Можно достаточно быстро создать скрипт на созданиенужных объектов, изменить Create на Alter, остаивть только столбцы с COLLATE что-то не правильное, заменить что-тоне правильно на (допустим) Cyrillic_General_CI_AS ?

Заодно можно и разобраться в чем дело (где COLLATE плывет)

Таким образом можно избежать совета Incold'a про копирование инфы.

Сам COLLATE на сервере лучше не менять - вроде на форуме sql не рекомендуют - лучше установить заново с нужным COLLATE. Хотя попробовать не возброняется
...
Рейтинг: 0 / 0
ADP не знаю как ошибку назвать ....
    #32294183
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Алексей, я умолчания не менял, я и делал на базу alter collation и не помогло ....

эта фраза скорее всего именно и говорит о том что ты поменял значение по умолчанию для новых объектов а тебе надо сменить колейшен именно таблиц, уже имеющихся.

причем скорее всего твоя проблема не с рабочими таблицами а с одной системной см. мой пост выше. так как у тебя одна и та же ошибка для всех таблиц и вьюх "cannot resolve collation for column 2"

в числе системных таблицах есть отвечающая за макет отображения вьюх и таблиц открытых в режиме просмотра так скорее всего при открытии любого объекта при попытке получения этих данных и эта беда вылезает

тебе нужно поменять колейшен только для этой таблицы.
...
Рейтинг: 0 / 0
ADP не знаю как ошибку назвать ....
    #32294216
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот что происходит на сервере если я открываю таблицу project_planing из Аксесс 2002 в режиме просмотра таблицы

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
select cols.COLUMN_NAME, case  when cols.DOMAIN_NAME is not null then cols.DOMAIN_NAME COLLATE Latin1_General_BIN else cols.DATA_TYPE end as datatype, cols.DATA_TYPE as basetype, cols.CHARACTER_MAXIMUM_LENGTH, cols.NUMERIC_PRECISION, cols.NUMERIC_SCALE from  INFORMATION_SCHEMA.COLUMNS cols where cols.TABLE_CATALOG = N'webaccess' and cols.TABLE_SCHEMA = N'dbo' and cols.TABLE_NAME = N'prj_planing' order by cols.ORDINAL_POSITION 
go
 SELECT *, sql_variant_property(value, 'basetype') AS type FROM ::fn_listextendedproperty(NULL,N'user',N'dbo',N'table',N'prj_planing',NULL,NULL) 
go
 SELECT *, sql_variant_property(value, 'basetype') AS type FROM ::fn_listextendedproperty(NULL,N'user',N'dbo',N'table',N'prj_planing',N'column',NULL) ORDER BY PATINDEX(N'MS_DisplayControl', name) DESC 
go
SET ROWCOUNT  10000  
go
 SELECT * FROM  "dbo" . "prj_planing"  
go
select object_name(sofk.id), user_name(sofk.uid), 'FK' from sysreferences srfk, sysobjects sofk, sysobjects sotblfk where srfk.constid = sofk.id and srfk.fkeyid = sotblfk.id and user_name(sotblfk.uid) = N'dbo' and object_name(sotblfk.id) = N'prj_planing_time'union select object_name(sofk.id), user_name(sofk.uid), 'RK' from sysreferences srfk, sysobjects sofk, sysobjects sotblrk where srfk.constid = sofk.id and srfk.rkeyid = sotblrk.id and user_name(sotblrk.uid) = N'dbo' and object_name(sotblrk.id) = N'prj_planing_time' 
go
select object_name(sofk.id), user_name(sofk.uid), 'FK' from sysreferences srfk, sysobjects sofk, sysobjects sotblfk where srfk.constid = sofk.id and srfk.fkeyid = sotblfk.id and user_name(sotblfk.uid) = N'dbo' and object_name(sotblfk.id) = N'prj_planing'union select object_name(sofk.id), user_name(sofk.uid), 'RK' from sysreferences srfk, sysobjects sofk, sysobjects sotblrk where srfk.constid = sofk.id and srfk.rkeyid = sotblrk.id and user_name(sotblrk.uid) = N'dbo' and object_name(sotblrk.id) = N'prj_planing' 
go


так вот для того чтобы определить в чем собака зарыта - запускаешь профилер
и смотришь на каком этапе у тебя рубится процесс
...
Рейтинг: 0 / 0
ADP не знаю как ошибку назвать ....
    #32294340
Фотография Артист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо буду пробовать, потом доложу :)
тока не скоро ...
...
Рейтинг: 0 / 0
ADP не знаю как ошибку назвать ....
    #32295734
Фотография Latuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Была у меня такая хрень.
Поставил новый сервак , колейшн на нем английский получился а у базы руский.

Причем таблицы пилинкованные из MDB-ка все нормально(используют колейшн базы), а у ADP траблы.
Так вот выяснилось ,
что collation базы (Посмотри в EM база->свойства) и collation сервера(Посмотри в EM Сервер->свойства) для ADP должны быть одинаковыми.
Гдето он использует один гдето другой , и если они не совпадают то ругается.
Причем не работает чтото одно толи ХП толи вьюхи сейчас не помню.
Стандартно для русского Cyrilic_General_Cl_AS
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ADP не знаю как ошибку назвать ....
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]