0

2008と一括挿入で問題が発生します。可変長レコード(特にヘッダー)で動作させることができません。

次のファイル行があるとします。


  • 1,2,3,4,5,6,7,9,10
  • 1,2,3,4,5,6,7,9,10,1,2,3,4,5,6,7,9,10
  • 1,2,3,4,5,6,7,9,10,1,2,3,4,5,6,7,9,10
  • 1,2,3,4,5,6,7,9,10,1,2,3,4,5,6,7,9,10
  • 1,2,3,4,5,6,7,9,10,1,2,3,4,5,6,7,9,10
  • 1,2,3,4,5,6,7,9,10,1,2,3,4,5,6,7,9,10
  • 1,2,3,4,5,6,7,9,10,1,2,3,4,5,6,7,9,10
  • 1,2,3,4,5,6,7,9,10,1,2,3,4,5,6,7,9,10
  • 1,2,3,4,5,6,7,9,10,1,2,3,4,5,6,7,9,10
  • 1,2,3,4,5,6,7,9,10,1,2,3,4,5,6,7,9,10

以下は、データのインポートのような便利なことをするべきではありませんか?空のテーブルを返すのではなく、FirstRowが2未満の場合にエラーを返しますか?

インポートとSQL2000で非常に多くの問題が発生したことを思い出せません。


   drop table #data

   create table #data
   (    
    a int null, b int null
    ,c int null, d int null
    ,e int null, f int null
    ,g int null, h int null
    ,i int null, j int null
    ,k int null, l int null
    ,m int null, n int null
    ,o int null, p int null
    ,q int null, r int null
    ,s int null, t int null
   ) 
   truncate table #data

   bulk insert #data 
   from 'd:\temp\data.txt'
   WITH(
     TABLOCK
    ,CODEPAGE='RAW'
    ,DATAFILETYPE='char'
    ,FIELDTERMINATOR=','
    ,ROWTERMINATOR='\r\n'
    ,FIRSTROW=2
    )

   select * from #data

言及するのを忘れて、私はSSISを試しましたが、違いはありません...明らかに間違ったコンポーネントを使用した可能性があります。

ああ、私はそこに99%を得ることができます、バルクは2行目以外のすべてを挿入します:(しかし、それは誰にも役に立たないです!

4

2 に答える 2

0

一括コピーを使用するSQL Server Integration Service (SSIS)代わりに、テキストファイルをSQLサーバーテーブルに変換するために使用できます。

于 2012-08-29T17:35:29.490 に答える
0

DTSウィザードを使用できます

その非常に簡単な dts パスはここに示されています

http://sqlcopy.blogspot.in/2012/07/bulk-sql-to-sql-sql-to-csv-csv-to-sql.html

于 2012-09-21T12:21:15.393 に答える