2009-08-17 5 views
0

Dans nos environnements, les cas changent parfois. Id devient ID, puis se transforme en id. Dans ce cas, mes packages SSIS (sql server 2008) échouent car le nom de la colonne n'est pas le même que celui attendu.Case Sensitive SSIS

Voici un moyen de reproduire le problème. Dans votre Dev SQL Server, créez les tableaux suivants:

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 

Créer un package SSIS avec un seul flux de données Tâche à laquelle ajouter une source OLE DB qui pointe vers CartoonCharacters et une destination OLEDB qui pointe vers ToonCharactes et connectez le flèches vertes et faire la cartographie des colonnes.

Exécutez le package et 3 lignes sont transférées.

Maintenant, dans SSMS, remplacez CartoonCharacterID par cartooncharacterid (tout en minuscules).

Essayez de réexécuter le package. Il bombarde. :(Il dit VS_NeedNewMetadata. Ceci est, bien sûr, parce que l'affaire a changé. :(

Y at-il un moyen de faire package SSIS métadonnées insensibles à la casse?

+1

Non, je ne pense pas qu'il y ait un moyen de contourner cela. Juste mettre à jour les métadonnées. –

Répondre

0

Vous pouvez travailler autour de changer de cas sur les tables de base en obtenant des données de

  1. Voir sur la table
  2. Une instruction SQL qui répertorie les colonnes.