Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tsql 批量插入问题在第一行拾取有趣的字符_Tsql_Bulkinsert - Fatal编程技术网

Tsql 批量插入问题在第一行拾取有趣的字符

Tsql 批量插入问题在第一行拾取有趣的字符,tsql,bulkinsert,Tsql,Bulkinsert,参考这篇文章,现在有一个解决方案,因为我试图解决同样的问题,并得到同样的问题。我在记事本中按照建议将文件保存为Unicode格式,没有任何区别。这是第一个数据值:''╗┐阿贝 代码: 批量 插入BulkWordInsert 来自“.txt” 具有 ( 字段终止符=':', 行终止符='\n' ) 我建议使用超级dooper文本编辑器(如UltraEdit)打开文件(在UltraEdit.com下载免费试用版),然后点击Ctrl-H进入十六进制模式,并注意是否使用批量插入加载该字符,因为该字符实际

参考这篇文章,现在有一个解决方案,因为我试图解决同样的问题,并得到同样的问题。我在记事本中按照建议将文件保存为Unicode格式,没有任何区别。这是第一个数据值:''╗┐阿贝

代码:

批量
插入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'
)