2016-12-12 13 views
1

SSIS pkgを使用してExcelデータをインポートしようとしていますが、データ型が変更され、10進数の他の形式に変換されています。SSIS Excelデータのインポート - 混合データ型の行

Iが設定範囲

例からデータをプル: 範囲A5:AB20

マイデータ列A5(M)= 120000.0

よう1.2

SSISインポート何かが私がSSISましたインポートA5 = 1.2

は、私はこれを試みたが、失敗しています...

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\ABCDPrograms.xlsx;Extended Properties="EXCEL 12.0 XML;HDR=YES;IMEX=1";

元のデータが一部のレガシーシステムからインポートされ、私はそこに変更を加えることはできません。

親切に指示してください。あなたはExcelのスプレッドシートとデータベースの間で、あなたのデータフロータスクに派生列変換を使用する必要が

+0

を助け、あなたが何「失敗する」という意味ですか?エラーが発生していますか? –

答えて

1

ありがとう:

Excelファイル、私はあなたがあなたのスプレッドシートには1.2を示していると言う知っているが、私は何を見ることができませんそれは大きな値のように見えないように、セルは、セル内に保持されているもの:

派生変換タスク

enter image description hereは、列の値を置き換え、1つの小数の場所に(100000で割った)値を丸め。

データベースエントリを結果として生じる

enter image description here

は、この列のデータ型は、あなたが必要とDECIMAL(8,1)またはしかし多くの先行桁)に設定されています:

enter image description here

希望

+0

ありがとうTJB - 私は追加したはずです。 行5と行20の前に他のデータがたくさんあります。これらの値は、シート(または他のワークシート)のどこかで計算されます。 Row5-20は 'リンク'され、1.2が表示されます(リンクされたセルやシートを含む数式が表示されます) 現実には、今まで表示されていたもの(つまり1.2)を取り除くようなものです –

+0

OK、 120kの値がSSISパッケージに渡されていることを確認します。スプレッドシートの列をSSISパッケージで正しく識別しており、SQLテーブルを正しく設定していると仮定すると、これは引き続き有効です。 もう1つの可能性は、1.2列を選択するときに、間違って120kのセルがSQL列にマッピングされていることです。 120kを数式ではなく1.2のように見えるようにするには、Excelスプレッドシート上でかなりファンキーなカスタム書式設定が必要です。 – TJB

+0

あなたのソリューションをテストすると、結果を知ってもらいます..ありがとうTJB –

関連する問題