2

SQL Server インポートおよびエクスポート ウィザードを使用して、特定の xlsx スプレッドシートを SQL の既存のテーブルにインポートしようとしています。既存のテーブルにはスプレッドシートの列のサブセットが含まれており、一致しない多くの列を無視しています。

スプレッドシートには、123 列と 238 行のデータがあります。

最初にスプレッドシートをインポートしていたときに、ウィザードが「実行中」でハングしていたため、プロセスを強制終了する必要がありました。今まで出会ったことのないもの。

データをコピーして新しいスプレッドシートに貼り付けた後、次のエラーが表示されます。

エラー 0xc020901c: データ フロー タスク 1: 出力 "Excel ソース出力" (9) の出力列 "Confidentiality Clause Comments" (108) でエラーが発生しました。返された列のステータスは、「テキストが切り捨てられたか、1 つ以上の文字がターゲット コード ページで一致しませんでした。」でした。(SQL Server インポートおよびエクスポート ウィザード)

エラー 0xc020902a: データ フロー タスク 1: 切り捨てが発生したため、"出力列 "Confidentiality Clause Comments" (108)" が失敗しました。指定されたコンポーネントの指定されたオブジェクトで切り捨てエラーが発生しました。(SQL Server インポートおよびエクスポート ウィザード)

私が混乱しているのは、「Confidentiality Clause Comments」列が無視されている列の 1 つであり、データベースにインポートされていないことです。

サンプルサイズを大きくするために、「HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Jet 4.0\Engines\Excel\TypeGuessRows」を 0 以上の数値 (238 や 1000 など) に設定してみました。(テーブルには、インポートされるデータに十分な大きさのフィールドが既に存在しますが)。また、「On Truncation (global)」と「On Error (global)」を無視に設定しています (ただし、この設定は「無視」されているようです)。

また、データを新しいテーブルにインポートしようとしましたが、同じ切り捨てエラー メッセージが表示されます (ただし、データの並べ替えに応じてフィールドが異なります)。

CSV ファイルとしてインポートすることを考えましたが、多くのフィールドにカンマが埋め込まれており、データが完全に台無しになりました。

データをインポートする方法についてのアイデアはありますか? 私はすでにこれに3時間以上費やしましたが、どこにも行きませんでした.

ありがとう、スティーブ

4

1 に答える 1

0

CSV の代わりに、名前を付けて保存できますText (Tab delimited) (*.txt)。そうすれば、カンマの問題が発生しなくなります。

また、これを一度だけ行う必要があり、データセットがそれほど大きくない場合は、Excel からコピーして SQL Server Management Studio に直接貼り付けることを検討します。

于 2013-02-01T15:44:37.913 に答える