![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с Collation [D7, MSSQL]
Patrick © (2010-08-09 11:14:00)Подскажите, плз, какой collation в MS SQL соответствует кодовой странице Oracle RUSSIAN_CIS.CL8MSWIN1251, а то при запросе из двух СУБД возникает ошибка Cannot resolve collation conflict for equal to operation
BoxTer (2010-08-10 06:42:00) [1]А для сопоставления почему не попробовать просто дописать collate для каждого символьного поля из джойновой таблицы?
select VarField collate cyrillic_general_xx_yy
where VarField2='' collate cyrillic_general_xx_yy
Anatoly Podgoretsky (2010-08-09 14:47:00) [2]Ну так повторяю вопрос
А что такое RUSSIAN_CIS.CL8MSWIN1251?
Patrick (2010-08-09 14:36:00) [3]Спасибо, так вот только мне надо в одном запросе сопоставить данные MS SQL и Oracle и возникает вышеописанная ошибка
Anatoly Podgoretsky (2010-08-09 13:40:00) [4]
> Следует использовать режимы сопоставления SQL только для
> обеспечения совместимости с существующими экземплярами более
> ранних версий SQL Server
Anatoly Podgoretsky (2010-08-09 13:36:00) [5]> Вариант (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
Вариант (2010-08-09 12:28:00) [6]
> 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 11:30:00) [7]
> collation_name
> Имя параметров сортировки, применяемых к выражению, определению
> столбца или базы данных. Аргумент collation_name может быть
> только указанным Windows_collation_name или SQL_collation_name.
> Значение аргумента collation_name должно быть литералом.
> Аргумент collation_name не может быть представлен переменной
> или выражением.
А что такое RUSSIAN_CIS.CL8MSWIN1251?
У MSSQL много различных параметров сортировки, даже два независимых семейства, нет одной. И сортировка не связана с кодовой страницей