SQL Server Integration Services を使用して IBM DB2 データベースにデータを挿入するときのエラー メッセージ
元の製品バージョン: ホスト統合サーバー
元の KB 番号: 2848234
現象
次のような状況で問題が発生します。
SQL Server Integration Services (SSIS) と OLE DB Provider for DB2 を使用して、IBM DB2 データベースにデータを挿入します。
SSIS パッケージの OLE DB 変換先は、 で
Accessmode = OpenRowset Using FastLoad
構成されます。ソース SQL Server データベースには、DateTime2 と Date データ型として定義された列に NULL 値がいくつか含まれており、それぞれ TimeStamp および Date データ型として定義された IBM DB2 列に挿入されます。
IBM DB2 データベースにデータを挿入する SSIS プロセス中に、次のようなエラーが発生する可能性があります。
エラー: SSIS エラー コード DTS_E_OLEDBERROR。 OLE DB エラーが発生しました。 エラー コード: 0x80004005 OLE DB レコードを使用できます。 ソース: "Microsoft DB2 OLE DB Provider" Hresult: 0x80004005説明: "Unspecified error"。
OLE DB レコードを使用できます。 ソース: "Microsoft DB2 OLE DB Provider" Hresult: 0x80040E14 説明: "datetime 値の文字列表現の構文が正しくありません。 SQLSTATE: 22007、SQLCODE: -180"
解決方法
この問題を解決するには、2 つの方法があります。
の使用
FastLoad
を無効にするために使用AccessMode = OpenRowset
する SSIS パッケージの OLE DB 変換先を変更します。 このオプションの欠点は、各行が一度に 1 つずつ挿入されるため、DB2 データベースへの挿入のパフォーマンスが大幅に低下することです。SSIS が IBM DB2 システムに接続するために使用する DB2 接続文字列に、次のパラメーターを追加します。
Use Early Metadata=true
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示