私はすでに数回検索しました。いくつかの投稿は関連していますが、この問題について私はまだ助けてくれません。openrowsetを使用して複数挿入できない
ここに私のitems.txtのサンプルアイテムがあります。私は.txtファイルをチェックし、何の空白は絶対にありません、など
0000100000
7005432111
4545213695
4545213612
0000100001
0000100002
だからここに私のコードは、これまでのところです:
INSERT INTO items(id, customerID)
SELECT items.id , C.customerID
FROM OPENROWSET(BULK N'C:\items.txt', FORMATFILE='C:\items.fmt') AS items
LEFT JOIN customerTable AS C ON items.id = C.id
そしてそれは、この値を返します。
0000100000 NULL
7005432111 NULL
4545213695 NULL
4545213612 NULL
0000100001 NULL
0000100002 NULL
これは、そこにいくつかのデータがあるはずのcustomerID列にNULL値を返します。
0000100000 2
7005432111 2
4545213695 2
4545213612 2
0000100001 2
0000100002 2
ありがとう:
INSERT INTO items(id, customerID)
SELECT items.id , C.customerID
FROM OPENROWSET(BULK N'C:\items.txt', FORMATFILE='C:\items.fmt') AS items
LEFT JOIN customerTable AS C ON C.id = '0000100000'
それは、これを返します。私はこの問題は、それがitems.txtから各値を読み取ることができませんが、私はこのコードを使用する場合items.id = C.id
上だと思います!
EDIT:問題を解決するには、(@serverSentinelにクレジット)形式のファイル "items.fmt" にある 使用\ rを\ n個の行を終了します。
10.0
1
1 SQLCHAR 0 46 "\r\n" 1 loyaltyID SQL_Latin1_General_CP1_CI_AS
「customerTable」のサンプルデータを追加できますか –
私のVMはちょうどハングアップしているため、確認できません。しかし、ここにいくつかのデータがあります: 'customerID、customerName、id' ' 2、Paulo、0000100000' – Cyberpau
'items.txt'ファイルの先頭に空白がありますか? –