ODBC Quelle bei SSIS mit VB.NET

28/01/2008 - 21:40 von Holger Plath | Report spam
Hallo,
ich habe das auch schon im SQL Server Forum geposted, aber hier ist es
vielleicht besser aufgehoben.

Ich möchte programmiert eine ODBC Quelle in einen Dataflow hàngen, aber ich
finde nicht die richtige Komponente.

Ich habe folgenden Code ausprobiert:

Dim conMgrSource As ConnectionManager = package.Connections.Add("ODBC")
conMgrSource.ConnectionString = "DSN=MIT"
conMgrSource.Name = "Source ODBC Connection"
conMgrSource.Description = "ODBC FoxPro Tabellen"

Dim source As IDTSComponentMetaData90 =
dataFlowTask.ComponentMetaDataCollection.New
source.ComponentClassID = "ADO.NET:System.Data.Odbc.OdbcConnection,
System.Data, Version 2.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089"
source.Name = "ODBCSource"
Dim srcDesignTime As CManagedComponentWrapper = source.Instantiate

nachdem ich gelesen habe, dass man bei der ComponentClassID den CreationName
angeben kann, wenn man einen Verweis auf die Assembly hat. Den CreationName
habe ich aus einer dtsx Datei, die ich probehalber erstellt habe.

Nun ist es aber so, dass ich bei ComponentClassID ALLES schreiben kann, ohne
dass es zu einer Fehlermeldung kommt.

Die Fehlermeldung bekomme ich dann aber, wenn ich folgendes ausführen möchte:

srcDesignTime.ProvideComponentProperties()

Weiss jemand, was ich machen muss, um die FoxPro Tabellen dennoch als Quelle
angeben zu können.

Vielen Dank im Voraus.
Holger
 

Lesen sie die antworten

#1 Holger Plath
31/01/2008 - 15:20 | Warnen spam
Hallo,

ich habe zumindest die Bedeutung des Fehlercodes gefunden:
0xC0048021 DTS_E_ERRORCOMPONENT
Muss ich irgendwo die Komponente "ADO.NET:System.Data.Odbc.OdbcConnection,
System.Data, Version 2.0.0.0, Culture=neutral,
PublicKeyToken·7a5c561934e089" noch irgendwo registrieren?
Was mich wundert ist, dass diese Komponente in einem dtsx Paket angesprochen
wird.

Weiss jemand, was ich tun muss, um den Code zum Laufen zu bringen?

Gruß
Holger


"Holger Plath" wrote:

Hallo,
ich habe das auch schon im SQL Server Forum geposted, aber hier ist es
vielleicht besser aufgehoben.

Ich möchte programmiert eine ODBC Quelle in einen Dataflow hàngen, aber ich
finde nicht die richtige Komponente.

Ich habe folgenden Code ausprobiert:

Dim conMgrSource As ConnectionManager = package.Connections.Add("ODBC")
conMgrSource.ConnectionString = "DSN=MIT"
conMgrSource.Name = "Source ODBC Connection"
conMgrSource.Description = "ODBC FoxPro Tabellen"

Dim source As IDTSComponentMetaData90 =
dataFlowTask.ComponentMetaDataCollection.New
source.ComponentClassID = "ADO.NET:System.Data.Odbc.OdbcConnection,
System.Data, Version 2.0.0.0, Culture=neutral,
PublicKeyToken·7a5c561934e089"
source.Name = "ODBCSource"
Dim srcDesignTime As CManagedComponentWrapper = source.Instantiate

nachdem ich gelesen habe, dass man bei der ComponentClassID den CreationName
angeben kann, wenn man einen Verweis auf die Assembly hat. Den CreationName
habe ich aus einer dtsx Datei, die ich probehalber erstellt habe.

Nun ist es aber so, dass ich bei ComponentClassID ALLES schreiben kann, ohne
dass es zu einer Fehlermeldung kommt.

Die Fehlermeldung bekomme ich dann aber, wenn ich folgendes ausführen möchte:

srcDesignTime.ProvideComponentProperties()

Weiss jemand, was ich machen muss, um die FoxPro Tabellen dennoch als Quelle
angeben zu können.

Vielen Dank im Voraus.
Holger

Ähnliche fragen