Paraméterátadás SQL Task-nak
Már egészen elfeledkeztem első SSIS-es problémámról, de most újra eszembe jutott. Ki akartam írni egy globális változó tartalmát egy táblába de nem sikerült. Hibaüzenet:
...with the following error: "Parameter name is unrecognized.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
SQL 2000-ben egyszerű helyzetünk volt, ha globális változó tartalmát ki akartuk írni egy SQL táblába: Az Execute SQL Task-ban definiáltuk az INSERT utasítást az alábbi módon:
Insert Into [Tábla] VALUES (?)
És összekapcsoltuk a kérdőjelet a globális változóval. Ha futtattuk a csomagot, a DTS kicserélte a kérdőjelet a globális változó tartalmára.
Újdonságok az SQL Server 2005-ben
A DTS-ben csak SQL Server connection használata esetén volt lehetőségünk helyettesíteni a kérdőjeleket globális változók tartalmával. Nem volt lehetőségünk például dbf fájlok parametrizált lekérdezésére. Az SSIS-ben megnyílt erre a lehetőség, de magával hozta azt a követelményt, hogy nem mindegy, hogy hogyan nevezzük el a paramétereket. (Nem mindegy milyen nevet adunk neki)

Ha SQL Server Connection-t használunk, (Azaz, ha SQL Server-t kérdezünk így le) akkor a paramétereket rendre 0, 1, 2, . névvel kell ellátnunk. Ha más adatforráshoz kapcsolódunk, máshogy kell elnevezni a paramétereket. A következő táblázat megmutatja, hogy mely adatforrás milyen paraméter megnevezést követel meg magának:

Felhasznált irodalom: Kirk Haselden blogja
Kővári Attila - BI projekt

BI projekt: BI & DWH Tervezés, tanfolyam, tanácsadás - 


Új hozzászólás