2017-12-05 8 views
0

ここではいくつかの例を見ましたが、適切な解決策を見つけることができませんでした。私はそれがテーブルにbulk insertにロジックを以下しているテキストファイルからSQLテーブルに一括挿入する方法

enter image description here

私はカンマで.txtファイルを持っているが、このようになります。そのデータを分離

SET @cmd = 'BULK INSERT dbo.vw_RPT_TBL_Bulk_Staging FROM '''+ @FullFilePath + 
      '''WITH(FIRSTROW = 1,FIELDTERMINATOR = '','',ROWTERMINATOR=''\n'',TABLOCK)' 
EXEC (@cmd) 

これは、テーブル構造:

enter image description here

実行後、すべてが1つの行にあります。

ファイルのすべての行をテーブルに挿入する必要があるため、ファイルの各行は別々の行に表示されます。 後でデータを抽出し、特定の条件に基づいて異なるテーブルに移動する必要があります。

データを正しく挿入するにはどうすればよいですか?

答えて

0

ROWTERMINATORが正しく設定されていない可能性があります。これを試してみてください:

SET @cmd = 'BULK INSERT dbo.vw_RPT_TBL_Bulk_Staging FROM '''+ @FullFilePath + 
      '''WITH(FIRSTROW = 1,FIELDTERMINATOR = '','',ROWTERMINATOR=''\r\n'',TABLOCK)' 
EXEC (@cmd) 
+0

いやに変更することで、それを固定し、動作しませんでした。ステージングテーブルの列を定義することは理にかなっていますか? – gene

+0

SQLは決して 'ROWTERMINATOR'に実行されないので、すべての行が1行になります。私は、16進エディタでソースファイルを開いて、行の終わりを知らせるためにどの文字が使用されているのか把握します。 –

+0

私は行末にLFだけを持っています – gene

0

私はROWTERMINATOR = '' は0x0A ''

関連する問題