Просмотрите ошибки отображения типов данных
Пожалуйста, смотрите DDL ниже:
create table test (id int identity not null, field1 varchar(30),
field2 nvarchar(30), dateadded datetime, primary key (id))
insert into test (field1,field2,dateadded) values ('Test1', 'Test2','2016-01-01')
insert into test (field1,field2,dateadded) values ('Test3', 'Test4', '2015-01-01')
insert into test (field1,field2,dateadded) values ('Test5', 'Test6','2014-01-01')
Таблица 'test' создается на [Server 1].Database1.
Я хочу передать данные на [сервер 2].database2 (только подмножество записей), используя DTS. Я указываю [Server1].database1 в качестве источника и [server 2].database2 в качестве места назначения. Я указываю исходный запрос: выберите * из теста, где дата добавлена>= '2016-01-01'
Тем не менее, меня попросили рассмотреть вопросы отображения типов данных. Я не уверен, как решить эту проблему в исходном запросе. Как мне решить это?
Вот некоторая информация об исходном сервере 1 (версия и сопоставление):
Microsoft SQL Server 2008 (SP3) - 10.0.5500.0 (X64)
Sep 21 2011 22:45:45
Copyright (c) 1988-2008 Microsoft Corporation
Developer Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: ) (VM)
Latin1_General_CI_AS
Вот некоторая информация о сервере назначения 2 (версия и сопоставление):
Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64)
Jun 28 2012 08:36:30
Copyright (c) Microsoft Corporation
Enterprise Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: ) (Hypervisor)
Latin1_General_CI_AS
Если я использую исходную таблицу, а не исходный запрос, то это работает. Однако исходная таблица содержит 80 миллионов записей, и мне требуется только около 10000, поэтому я использую исходный запрос, а не исходную таблицу.
Ошибка: "Найдено 2 неизвестных преобразования типа (ов) столбца. Вам разрешено только сохранять пакет"
Как решить проблемы с отображением типов данных в исходном запросе? Я попробовал это:
select field1 collate Latin1_General_CI_AS,field2 collate Latin1_General_CI_AS,dateadded from test