25

同じサーバー上の 2 つのデータベース間でデータを転送する DTS パッケージを作成しようとしていますが、次のエラーが発生します。複数ステップの OLE DB 操作によって生成されたエラーは、異なるデータベース タイプ間で転送しているときに精度が失われる可能性があることを読みましたが、ここではそうではありません。列のメタデータを調べるにはどうすればよいですか?

エラー: データ フロー タスクで 0xC0202009、piTech [183]​​: OLE DB エラーが発生しました。エラー コード: 0x80040E21。OLE DB レコードが利用可能です。ソース: "Microsoft SQL Native Client" Hresult: 0x80040E21 説明: "複数ステップの OLE DB 操作でエラーが発生しました。利用可能な場合は、各 OLE DB ステータス値を確認してください。作業は行われませんでした。".

エラー: データ フロー タスクで 0xC0202025、piTech [183]​​: OLE DB アクセサーを作成できません。列のメタデータが有効であることを確認してください。

エラー: データ フロー タスクの 0xC004701A、DTS.Pipeline: コンポーネント "piTech" (183) は実行前フェーズに失敗し、エラー コード 0xC0202025 を返しました。

4

12 に答える 12

36

フィールドのプロパティ (タイプ、長さ、デフォルト値など) を確認してください。同じである必要があります。

フィールドの長さが等しくないため、SQL Server 2008 R2 でこの問題が発生しました。

于 2011-10-01T11:02:02.653 に答える
11

このエラーは、ソース テーブルに TEXT 列が含まれていて、ターゲットが TEXT 列以外の場合によく発生します。これに遭遇したことがない (または忘れた!) 場合は、リアルタイムイーターになる可能性があります。

テキスト列を文字列に変換し、切り捨て時のエラー条件を無視するように設定します。これは通常、このエラーの解決策として役立ちます。

于 2012-10-22T17:26:03.163 に答える
3

このクエリは、潜在的な問題である列を特定する必要があります。

SELECT * 
FROM [source].INFORMATION_SCHEMA.COLUMNS src
    INNER JOIN [dest].INFORMATION_SCHEMA.COLUMNS dst 
        ON dst.COLUMN_NAME = src.COLUMN_NAME
WHERE dst.CHARACTER_MAXIMUM_LENGTH < src.CHARACTER_MAXIMUM_LENGTH 
于 2008-09-09T14:36:38.443 に答える
0

古いデータベースから新しいデータベースにデータを転送しているときに同様の問題が発生しました。上記のエラーが発生しました。次に、次のスクリプトを実行しました

SELECT * FROM [source].INFORMATION_SCHEMA.COLUMNS src INNER JOIN [dest].INFORMATION_SCHEMA.COLUMNS dst ON dst.COLUMN_NAME = src.COLUMN_NAME WHERE dst.CHARACTER_MAXIMUM_LENGTH < src.CHARACTER_MAXIMUM_LENGTH

そして、文字サイズなどの点で列がわずかに異なることがわかりました。次に、テーブルを機能しない新しいテーブル構造に変更しようとしました。次に、古いデータベースからExcelにデータを転送し、Excelから100%機能する新しいDBにデータをインポートしました。

于 2010-04-13T09:23:37.983 に答える
0

使用できますSELECT * FROM INFORMATION_SCHEMA.COLUMNSが、ソースデータベースのスクリプトから宛先データベースを作成したと思われるため、列が同じになる可能性が非常に高くなります。

しかし、いくつかの比較は何かをもたらすかもしれません。

これらの種類のエラーは、varchar 列にあまりにも多くのデータを挿入しようとした場合にも発生することがあります。

于 2008-09-09T11:04:15.520 に答える
-1

csv を mssql に転送するときにこのエラーが発生しました。列を DT_NTEXT に変換し、mssql のいくつかの列を nvarchar(255) に設定しました。

それらを nvarchar(max) に設定すると解決しました。

于 2015-11-07T00:11:07.147 に答える
-1

このエラーは、挿入を行おうとしたときに、フィールドが非 null とコーディングされていて、null が挿入されようとしている場合にも発生します。

于 2013-07-25T20:32:21.420 に答える