.csv文件(逗号分隔)至sql server,急急急!(100分)

  • 主题发起人 主题发起人 Mary
  • 开始时间 开始时间
M

Mary

Unregistered / Unconfirmed
GUEST, unregistred user!
我想用bulk insert语句将.csv中的数据成批插入sql server,可是由于部分csv文件中
部分字段中包含逗号,insert的时候出错了,因为它把字段中的逗号看成了字段之间的
分隔符,我该怎么才能即用bulk insert语句,又能正确导入数据呢?请帮帮忙,很急,
谢谢!
 
数据要用引号括起来吧
 
看看你的文件是否每个字段长度固定,就用固定方式了。否则你只能祈祷了。
另外提供一个思路,就是看看可变和固定能否混合来。
 
zm30,
我发现如果该字段中有逗号,那么它会被双引号括起来。


BigTall,
准备导入的数据是从Excel里另存出来的.csv文件,可以将excel文件另存为固定长度吗?
如果可以,接下来怎么做呢,请帮帮我。

 
用bulk insert
BULK INSERT Northwind.dbo.[Order Details]
FROM 'f:/orders/lineitem.csv'
WITH
(
FIELDTERMINATOR = ',',//这是分隔符
ROWTERMINATOR = ':/n',//这是行分隔符
FIRE_TRIGGERS
)
 
你尝试一下用
odbc的文本驱动,看看好不好用
 
To 天真,

我本来就是用的bulk insert语句,然后用,当分隔符。
不过我发现可以将文件存成以TAB为分隔符的,这样,bulk insert语句就可以写成:
BULK INSERT invoice FROM 'f:/job/invoice07.txt'
WITH (
DATAFILETYPE = 'char',
FIELDTERMINATOR = '/t',
ROWTERMINATOR = '/n'
)

一切OK了。

是否有更好的解决办法,请各位高手指点。
 
完蛋了,客户要求一定要使用固定长度的TXT文件,可是bulk insert不提供这种功能啊,
谁能帮帮我?感激不尽!
 
后退
顶部