SQL Server 2000 DTS - не удается разрешить конфликт сопоставления для равной операции

У меня есть пакет SQL Server 2000 DTS.

Один из шагов этого пакета имеет следующий SQL:

SELECT *
FROM [Crocus_Limited$OrderRequestDetail]
WHERE (rep_updated > GETDATE() -2) 
AND NOT EXISTS

(SELECT OrderID 
FROM NavisionUpgrade.navision4.dbo.[WEBOrderDetails] rd 
WHERE rd.OrderID =     [Crocus_Limited$OrderRequestDetail].OrderID 
AND rd.NavisionItemNo = [Crocus_Limited$OrderRequestDetail].NavisionItemNo )

Это терпит неудачу - дает мне ошибку: не может разрешить конфликт сопоставления для равной операции.

Этот DTS в основном перемещает данные из одной БД в другую (расположенную в разных географических точках)

Как я могу изменить вышеупомянутый запрос, чтобы решить эту проблему?

2 ответа

Решение

Один или оба столбца соединения имеют один из типов данных char (char,nchar,varchar,nvarchar), которые хранятся в несовместимых сопоставлениях в каждой базе данных.

Вы можете указать параметры сортировки для сравнения строк. Самый простой способ сделать это - указать параметры сортировки по умолчанию для машины, на которой выполняется запрос (я предполагаю, что NavisionItemNo это столбец проблемы):

...AND rd.NavisionItemNo collate database_default = [Crocus_Limited$OrderRequestDetail].NavisionItemNo collate database_default )

РЕДАКТИРОВАТЬ

OrderID также является столбцом varchar? Если так, попробуйте

...WHERE rd.OrderID collate database_default = [Crocus_Limited$OrderRequestDetail].OrderID collate database_default
AND rd.NavisionItemNo collate database_default = [Crocus_Limited$OrderRequestDetail].NavisionItemNo ) collate database_default

Как упоминалось в двух предыдущих постах, вы должны использовать атрибут collate для каждого нечислового столбца, но посмотрите на сопоставление целевого db и используйте это сопоставление (например, SQL_Latin_CI_AS). Имейте в виду, что таблица может иметь свое собственное сопоставление, даже столбец может иметь другое сопоставление, поэтому внимательно изучите ваши определения.

Мир и удача Лед

Другие вопросы по тегам