1. ホーム
  2. Database

SSISエラーコード DTS_E_OLEDBERROR.an OLE DBエラーが発生しました。エラーコード 0x80040E21 備考

2022-02-21 19:15:12

    今日、データベースのエクスポートを行っているときに、次のようなエラーメッセージが表示されました。  

   SSISエラーコード DTS_E_OLEDBERROR.an OLE DBエラーが発生しました。エラーコード 0x80040E21 備考

  古いライブラリのデータを新しく作成した新しいライブラリテーブルにインポートしているのですが、長さの異なるフィールドや、使用されていない、今後使用されないフィールドがいくつか存在します。しかし、このような現象は初めてなので、ググってみたところ、MSDNに記載されている解説は

ソースカラムのデータ型がTextのような制限のないテキストであるのに対し、ターゲットライブラリのデータ型はvarcharのような長さ制限のあるテキストです。

  この場合、sql server 2005(2000は試していませんが、どうなるかわかりません)は、単純に「これは間違っている」と判断します。

  これは主に、古いライブラリテーブルのフィールドがnvarchar(max)に設定されていることが原因です。そして、このフィールド自体はそれほど多くの値を持たないので、フィールドタイプを変更しました。フィールドタイプをnvarchar(50)に変更しました。誘導できました。