2


0

私は64ビットWindows 2008サーバーにいます。 SSISでは、ODBC接続に接続されたADO.NETデータフローアイテムがあります。 プレビューはうまくいきます。 デバッグモードで実行すると、次の例外がスローされます。

[ADO NET Source [53]] Error: System.Data.Odbc.OdbcException: ERROR [IM002] [Microsoft][ODBC Driver Manager]
System.Data.Odbc.OdbcConnectionHandle..ctorのSystem.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle、RetCode retcode)にデータソース名が見つからず、既定のドライバも指定されていません。 System.Data.Odbc.OdbcConnectionFactory.CreateConnection(DbConnectionOptionsオプション、オブジェクトpoolGroupProviderInfo、DbConnectionPoolプール、DbConnection owningObject)でSystem.Data.Connection.Base(System.DataConnection)を呼び出します。 System.Data.ProviderBase.DbConnection owningConnectionのSystem.Data.ProviderBase.DbConnectionFactory.GetConnectionのDbConnection owningConnection、DbConnectionPoolGroup(poolGroup)、DbConnectionの外部接続、DbConnectionの外部接続、DbConnectionの外部接続(DbConnectionFactoryのconnectionFactory).db.Data.dbでMicrosoft.SqlServer.Dts.Runtime.ManagedHelper.GetManagedConnection(String assemblyQualifiedName、String connStr、オブジェクトトランザクション)でMicrosoft.SqlServer.Dts.Runtime.Wrapper.IDTSConnectionManager100.AcquireConnection(Object pTransaction)でMicrosoft.SqlServer.Dts.Pipeline.DataReaderSourceAdapter Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostAcquireConnections(IDTSManagedComponentWrapper100ラッパー、オブジェクトトランザクション)の.AcquireConnections(オブジェクトトランザクション)

私が見つけることができる最もよいのは、SSISがデータソースを見つけることができないということです。なぜなら、それは64ビットの場所を見ているからです。これは32ビットとは異なります。 このデフォルトを上書きして32ビットODBCを指すようにする方法はありますか?

3 Answer


1


この問題は、プロジェクトデバッグオプションでRun64BitRuntimeをfalseに設定することで解決されています。 これによりエラーが発生します。

[ADO NETソースhttp://blogs.msdn.com/sqlblog/archive/2009/04/09/after-installation-of-net-framework-3-5-sp1-or-net-framework-2-0- sp2-ssis-packages-using-odbc-3rd-party-drivers-may-fail.aspx [1]]エラー:SSISエラーコードDTS_E_INDUCEDTRANSFORMFAILUREONERROR。 エラーコード0x80131937が発生し、 "出力列" Z_ID "(38)"のエラー行の配置でエラーが発生したため、 "コンポーネント" ADO NET Source "(1)"が失敗しました。 指定されたコンポーネントの指定されたオブジェクトでエラーが発生しました。 失敗の詳細については、この前にエラーメッセージが表示されている可能性があります。

これは、サードパーティ製のODBCドライバと.NETの間の問題です。 これは、次の手順を実行することで解決されます。 -2-0-sp2-ssis-packages-using-odbc-Third-Party-Drivers-may-fail.aspx


1


64ビット版をインストールするmysql-connector-odbc-5.1.6-winx64.msi 32ビットクライアント(XP / Vista 32ビット)ODBC 3.51を使用64ビットクリケット(Vista 64ビット)ODBC 5.1を使用

"conn.ConnectionString =" DRIVER = \ {MySQL ODBC 5.1ドライバ}; " "SERVER = nnn.nnn.nn.nnn;" "DATABASE = my_sql_database;" "UID = my_uid;" "PASSWORD = my_pwd;";

conn.ConnectionString = "DSN = my_odbc_dsn";


0


DNS接続をもう一度作成してみます。

C:\ Windows \ SysWOW64に移動し、odbcad32を検索して接続を設定します。

それから

C:\ Windows \ System32に移動してodbcad32を検索し、再度接続を設定します。

両方に同じ名前を使用してください。