Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Проблема с Collation   Найти похожие ветки 

 
Patrick   (2010-08-09 11:14) [0]

Подскажите, плз, какой collation в MS SQL соответствует кодовой странице Oracle RUSSIAN_CIS.CL8MSWIN1251, а то при запросе из двух СУБД возникает ошибка Cannot resolve collation conflict for equal to operation


 
Anatoly Podgoretsky ©   (2010-08-09 11:30) [1]


> collation_name
> Имя параметров сортировки, применяемых к выражению, определению
> столбца или базы данных. Аргумент collation_name может быть
> только указанным Windows_collation_name или SQL_collation_name.
>  Значение аргумента collation_name должно быть литералом.
>  Аргумент collation_name не может быть представлен переменной
> или выражением.


А что такое RUSSIAN_CIS.CL8MSWIN1251?
У MSSQL много различных параметров сортировки, даже два независимых семейства, нет одной. И сортировка не связана с кодовой страницей


 
Вариант   (2010-08-09 12:28) [2]


> Anatoly Podgoretsky ©   (09.08.10 11:30) [1]



> И сортировка не связана с кодовой страницей


Да как сказать....вот пример с SQL_collation_name

select E_DISC ,ASCII(E_DISC) A
  ,N
from
(
select "1" as E_DISC, 1 as N
union

select "a",2
union
select "ф",3
union
select "б",4
union
select "т",5
union
select "а",6
union
select "А",7
union
select "Б",8
union
select "A",9

) S

order by E_DISC COLLATE SQL_Latin1_General_Cp1251_CS_AS

Меняем Cp1251 на Cp1250,Cp1253 или Cp850  и каждый раз видим другой результат сортировки.


 
Anatoly Podgoretsky ©   (2010-08-09 13:36) [3]

> Вариант  (09.08.2010 12:28:02)  [2]

Если ты меняешь, то ты переходишь на другой языковой стандарт, которых в
MSSQL fo 135 штук поддержано, а на каждый языковой стандарт по десятку
различных Collation.
При том это относится только к SQL Collation, который оставлен для
совместимости, Windows collation не имеет CollationDesignator в своем
название.
А используется только название языка, и CaseSensitivity, и AccentSensitivity
..

> Latin1_General and French are collation designators that use code page
> 1252

А сортировка разная.

Русский называется так Cyrillic_General_XX_YY


 
Anatoly Podgoretsky ©   (2010-08-09 13:40) [4]


> Следует использовать режимы сопоставления SQL только для
> обеспечения совместимости с существующими экземплярами более
> ранних версий SQL Server


 
Patrick   (2010-08-09 14:36) [5]

Спасибо, так вот только мне надо в одном запросе сопоставить данные MS SQL и Oracle и возникает вышеописанная ошибка


 
Anatoly Podgoretsky ©   (2010-08-09 14:47) [6]

Ну так повторяю вопрос
А что такое RUSSIAN_CIS.CL8MSWIN1251?


 
BoxTer   (2010-08-10 06:42) [7]

А для сопоставления почему не попробовать просто дописать collate для каждого символьного поля из джойновой таблицы?
select VarField collate cyrillic_general_xx_yy
where VarField2="" collate cyrillic_general_xx_yy



Страницы: 1 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.056 c
4-1259040937
Alex_C
2009-11-24 08:35
2013.03.22
"Принудительная" запись в COM-порт


15-1340483402
Юрий
2012-06-24 00:30
2013.03.22
С днем рождения ! 24 июня 2012 воскресенье


2-1344085484
MS Access
2012-08-04 17:04
2013.03.22
Сортировка по части поля


3-1283937300
Den
2010-09-08 13:15
2013.03.22
Запись изображения в БД


6-1263641367
RokWeb
2010-01-16 14:29
2013.03.22
Отправка пакета по сети(Winsock2).