2009-08-17 5 views
0

В нашей среде иногда случается случай. Идентификатор становится ID, а затем превращается в id.Чувствительность к регистру SSIS

В этом случае мои пакеты SSIS (sql server 2008) терпят неудачу, потому что имя столбца не совпадает с ожидаемым.

Вот способ воспроизвести проблему. В вашем Dev SQL Server, создайте следующие таблицы:

DROP Table dbo.CartoonCharacters 
Go 
Create Table dbo.CartoonCharacters 
(
    CartoonCharacterID INT, 
    CartoonCharacterName VarChar (100) 
) 

DROP Table dbo.ToonCharacters 
Go 
Create Table dbo.ToonCharacters 
(
    ToonCharacterID INT, 
    ToonCharacterName VarChar (100) 
) 

INSERT INTO dbo.CartoonCharacters VALUES 
(1, 'Don Duck') 
,(2, 'Mike Mouse') 
,(3, 'Rog Rabbit') 
GO 

Создание пакета служб SSIS с одной задачи потока данных, к которому добавить источник OLE DB, который указывает на CartoonCharacters и OLEDB назначения, который указывает на ToonCharactes и подключить зеленые стрелки и отображение столбцов.

Запустить пакет и передать 3 строки.

Теперь, в SSMS, измените CartoonCharacterID на cartooncharacterid (все в нижнем регистре).

Попробуйте снова запустить упаковку. Он бомбит. :(Это говорит VS_NeedNewMetadata. Это, конечно, потому что дело изменилось. :(

Есть ли способ, чтобы сделать пакет SSIS метаданных без учета регистра?

+1

Нет, я не думаю, что есть способ обойти это. Просто обновите метаданные. –

ответ

0

Вы можете работать вокруг изменения на случай базовые таблицы, получая данные от

  1. Посмотреть на столе
  2. SQL-заявление, в котором перечислены столбцы.
Смежные вопросы