【发布时间】:2015-02-28 02:12:25
【问题描述】:
我正在尝试导入一个文本文件,因此结果将只是一列的单独行中的单词。 例如一段文字:
'你好,妈妈,
我们又见面了'
应该给出5条记录:
'Hello'
'Mom,'
'we'
'meet'
'again'
我尝试使用BULK INSERT 和ROWTERMINATOR = ' ' 来完成此操作,但是将new line 也视为terminator 也存在问题,我在其中一个结果中得到'Mom,we'。
据我所知,没有办法将second ROWTEMRMINATOR 添加到BULK INSERT(真的吗?)。
您知道实现上述结果的最佳方法是什么?
该文件不能在 SQL Server 之外进行预处理,并且该方法应该对数百个包含 thausands 行单词的文件很有用,这些文件在不同的时间导入,而不仅仅是一次。
【问题讨论】:
-
我认为使用
BULK INSERT进行这个单词解析任务并不是最好的选择。 -
有很多方法可以“重新格式化”文件,以便批量插入以在源计算机上工作。使用其中一种工具来处理数据。尝试使用 BULK INSERT 是错误的。
-
你能预处理文件吗?几行 C# 就足以完成这项工作。
-
感谢您的 cmets。我添加了一些细节来澄清。我知道 BULK INSERT 不是最好的选择,问题是什么? ;)
-
尊敬的 usr,我之前在问题中添加了详细信息;)“无法在 SQL Server 之外对文件进行预处理”
标签: sql sql-server tsql bulkinsert bcp