0

Excel ファイルを SQL にロードしようとしています。問題は変換にあります。

私は変換に対処したくありません。すべての列を文字列として扱いたいのは、SQL テーブルに文字列としてダンプされるためです。

すべての変換の問題に対処することなく、これを SQL テーブルに取得する最も簡単な方法は何ですか?

4

1 に答える 1

1

Excel SourceのMSDNエントリが警告するように:

Excelドライバーは、指定されたソース内の特定の行数(デフォルトでは8行)を読み取り、各列のデータ型を推測します。列に混合データ型、特にテキストデータと混合された数値データが含まれているように見える場合、ドライバーは多数決データ型を優先することを決定し、他の型のデータを含むセルにnull値を返します。(同点の場合、数値タイプが優先されます。)

接続文字列に追加IMEX=1すると、Excelソースが「インポートモード」になります。最初の数行にデータ型が混在する列は、テキストデータとして扱われます。ただし、Excelソースのタイプを推測する「機能」を遮断する方法はありません。これらの最初の数行にすべて数値が含まれている場合、ソース列を数値として扱い、適切に変換を強制します。

このファイルを提供している人に.CSV形式で送信するように説得できる場合は、通常のフラットファイルソースを使用してロードできます。または、スクリプトコンポーネントをソースとして構成し、Excelオブジェクトモデルを使用してスプレッドシートをループし、行を吐き出すこともできますが、実際に何をしているのかを理解していない限り、「簡単」とは見なされません。

于 2013-03-14T01:10:19.820 に答える