ExcelファイルからMSSQL Server 2005にデータをインポートするときに、一部の列にほとんど数値データが含まれている場合、他の誰かがこの同じ問題を抱えていますか?ただし、列タイプをvarcharに設定しても、ウィザードは解析に失敗したフィールドをインポートできません数字として?
6 に答える
SSIS が使用する接続文字列を編集する必要があります。これを文字列「IMEX=1;」の末尾に追加します。(引用符なし) これは、SSIS/jet に、データ型が何であるかを理解しようとしないように指示します。それらをインポートするだけです。
Excel データをインポートするための Jet 設定を微調整してみてください。特定のインポート中に列の種類を決定しようとするときに、Jet エンジンがシート全体をサンプリングするように強制できます。次のレジストリ キーを (最初にバックアップを作成した後に) 変更し、それで問題が解決しないかどうかを確認します。
HKLM\Software\Microsoft\Jet\4.0\Engines\Excel
またはx64で
HKLM\Software\Wow6432Node\Microsoft\Jet\4.0\Engines\Excel
TypeGuessRows の値をゼロに設定します。これにより、Jet はすべての行をサンプリングして列の型を決定します。
これが最善の解決策です。
リボン メニューの [ファイル] をクリックし、[オプション] をクリックします。
[詳細設定] をクリックし、[このブックを計算するとき] で [表示される精度を設定する] チェック ボックスをオンにして、[OK] をクリックします。
[OK] をクリックします。
ワークシートで、書式を設定するセルを選択します。
[ホーム] タブで、[番号] の横にある [ダイアログ ボックス ランチャー ボタン] 画像をクリックします。
[カテゴリ] ボックスで、[数値] をクリックします。
[小数点以下の桁数] ボックスに、表示する小数点以下の桁数を入力します。
アポストロフィ + インポートする列の内容である新しい列を作成します。これにより、強制的に文字列になります
="'"&E2
HDR設定が機能する前にIMEX = 1を追加しました。