Tsql 批量插入问题在第一行拾取有趣的字符
参考这篇文章,现在有一个解决方案,因为我试图解决同样的问题,并得到同样的问题。我在记事本中按照建议将文件保存为Unicode格式,没有任何区别。这是第一个数据值:''╗┐阿贝 代码:Tsql 批量插入问题在第一行拾取有趣的字符,tsql,bulkinsert,Tsql,Bulkinsert,参考这篇文章,现在有一个解决方案,因为我试图解决同样的问题,并得到同样的问题。我在记事本中按照建议将文件保存为Unicode格式,没有任何区别。这是第一个数据值:''╗┐阿贝 代码: 批量 插入BulkWordInsert 来自“.txt” 具有 ( 字段终止符=':', 行终止符='\n' ) 我建议使用超级dooper文本编辑器(如UltraEdit)打开文件(在UltraEdit.com下载免费试用版),然后点击Ctrl-H进入十六进制模式,并注意是否使用批量插入加载该字符,因为该字符实际
批量
插入BulkWordInsert
来自“.txt”
具有
(
字段终止符=':',
行终止符='\n'
)
我建议使用超级dooper文本编辑器(如UltraEdit)打开文件(在UltraEdit.com下载免费试用版),然后点击Ctrl-H进入十六进制模式,并注意是否使用批量插入加载该字符,因为该字符实际上在文件中。我猜其他文本编辑器也能做到这一点,但我最熟悉的是UltraEdit
如果是这样,那么您必须联系文件源并要求他们删除它,或者加载它,然后编写T-SQL来替换(字符串,goofy字符“”
我在以前的一个客户机上遇到过这个问题,在这个客户机上,UNIX大型机踢出了包含奇数字符的文本文件 添加代码页有帮助吗
WITH(CODEPAGE='RAW')
是的,我尝试过这个变体,但DATAFILETYPE='char'不起作用,DATAFILETYPE='widechar'也使用了CODEPAGE='65001'。所有的变化都没有区别。我看到的唯一方法是,在大容量插入之后,我必须通过编写SQL来修复它,SQL Server不支持这些字符,它们是UTF-8的字节标记。您应该将输入文件转换为UTF-16。见:
BULK
INSERT BulkWordInsert
FROM '<sometextfile>.txt'
WITH
(
FIELDTERMINATOR = ':',
ROWTERMINATOR = '\n'
)