前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >bcp sqlcmd bulkinsert在unicode问题,Unexpected EOF encountered in BCP data-file

bcp sqlcmd bulkinsert在unicode问题,Unexpected EOF encountered in BCP data-file

作者头像
全栈程序员站长
发布2022-01-11 16:50:13
发布2022-01-11 16:50:13
55900
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

senario

进入sqlcmd使用:out xxx产生的数据文件,因为sqlcmd export to file 默认情况下,中国的乱码。因此,使用-u(unicode)开关

代码语言:javascript
代码运行次数:0
运行
复制
@echo off & setLocal EnableDelayedExpansion
:start
@SET DB=AdventureWorks2012
sqlcmd  -d%DB% -b -iscript.sql -v pa="out.txt" pwd="%cd%" -W -h-1
TIMEOUT 3
sqlcmd  -d%DB% -b -iout.txt -W -h-1 -s^| -u--<strong><strong>因为sqlcmd export to file 默认情况下中文乱码。故用-u(unicode)开关</strong></strong>
pause
GOTO start

到此,中文正常显示

SQLCMD ERROR

代码语言:javascript
代码运行次数:0
运行
复制
Starting copy...
SQLState = S1000, NativeError = 0
Error = [Microsoft][SQL Server Native Client 11.0]Unexpected EOF encountered in BCP data-file

0 rows copied.
Network packet size (bytes): 4096
Clock Time (ms.) Total     : 1

原因 datafile in Unicode format 用-c开关导入数据会出错

查看

打开-w开关,导入成功

小结

用bcp in or out data时

  1. ANSI –> -c
  2. UNICODE–>-w

Using BULK INSERT to Bulk Import Unicode Character Data

代码语言:javascript
代码运行次数:0
运行
复制
USE AdventureWorks2012;
GO
BULK INSERT myTestUniCharData 
   FROM 'C:\myTestUniCharData-w.Dat' 
   WITH (
      DATAFILETYPE='widechar', --unicoode
      FIELDTERMINATOR=','
   ); 
GO
SELECT Col1,Col2,Col3 FROM myTestUniCharData;
GO

參考:

版权声明:本文博客原创文章,博客,未经同意,不得转载。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/117163.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Using BULK INSERT to Bulk Import Unicode Character Data
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档