2016-09-12 10 views
0

SSISを使用してSQL Server 2008にファイルをインポートしています。このファイルは他のユーザー経由で.csvフォーマットで提供されています。私はファイルのエクスポートを制御できません。csvからSQL Server 2008のテーブルにデータをインポートすると、データが正しく表示されない

ファイルをインポートすると、1つのフィールドに次の情報が表示されます。 1101111440の代わりに01.10111144000000000000000e+009

私はメモ帳とExcelでそれを開くように進みました。それはそれがどのように表示されるかです。 Excelでその列を右クリックし、[セルの書式設定]を選択して[一般]に設定すると、正しく反映されます。問題は手動ではできないということです。

ファイルからバルク挿入を実行して列が正しくインポートされることを確認するにはどうすればよいですか?

+0

これは、SQL Serverやその他のプログラム(メモ帳、Excelなど)にデータをインポートする方法についての質問ですか? –

+0

こんにちは。これは、ファイルからSQLにロードすることに関するものです。申し訳ありませんが私は十分に明確でない場合。 –

+0

ここで問題となるのは、関連する情報をすべてSQLにインポートしたかどうかが本当に懸念されるときに、メモ帳などにエクスポートするときのデータの表示方法です。これらの小数点が意味があると仮定すると、おそらくSQLでデータを正常に取得したように見えます。このデータを使用してSQLで何をする予定ですか? –

答えて

0

以下のコードを使用して、CSVからSQL Serverデータベースにデータをインポートできます。

DECLARE @filePath VARCHAR (200) 
     ,@basePath VARCHAR(200) = 'C:\Dumps\' 
     ,@Bulk NVARCHAR(MAX); 

-- Get full file path 
SET @filePath = @basePath + 'reportsdump.csv'; 

-- Populate table [#ReportsDumpData] with data from csv. 
SET @Bulk = 'BULK INSERT #ReportsDumpData FROM '''[email protected]+''' WITH ('; 
SET @bulk += 'FIRSTROW = 2, FIELDTERMINATOR = ''";"'' , rowterminator=''\n'')'; 
EXEC(@Bulk); 
0

他の人の抽出物を使用する必要があることの喜び。 temp(ステージング)テーブルにロードしました。そこから、私はまず小数点(10、0)に変換し、それをvarchar(10)に変換する浮動小数点数に変換します。これは機能します。

関連する問題