bcp sqlcmd bulkinsert在unicode问题,Unexpected EOF encountered in BCP data-file
2015-08-23 13:38
891 查看
senario
进入sqlcmd使用:out xxx产生的数据文件,因为sqlcmd export to file 默认情况下,中国的乱码。因此,使用-u(unicode)开关
SQLCMD ERROR
原因 datafile in Unicode format 用-c开关导入数据会出错
查看
打开-w开关,导入成功
小结
用bcp in or out data时
ANSI --> -c
UNICODE-->-w
參考:
进入sqlcmd使用:out xxx产生的数据文件,因为sqlcmd export to file 默认情况下,中国的乱码。因此,使用-u(unicode)开关
@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
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时
ANSI --> -c
UNICODE-->-w
Using BULK INSERT to Bulk Import Unicode Character Data
USE AdventureWorks2012; GO BULK INSERT myTestUniCharData FROM 'C:\myTestUniCharData-w.Dat' WITH ( DATAFILETYPE='widechar', --unicoode FIELDTERMINATOR=',' ); GO SELECT Col1,Col2,Col3 FROM myTestUniCharData; GO
參考:
UNICODE与ANSI的差别【转】
http://www.cnblogs.com/Pickuper/articles/2050427.html
Use Unicode Character Format to Import or Export Data (SQL Server)
https://msdn.microsoft.com/en-us/library/ms188289.aspx
相关文章推荐
- sql优化
- 关系数据库设计三范式
- Oracle数据的启动与关闭
- 64位Oracle 11g 使用PL/SQL
- Memcached 的静态编译(Mac OS X)
- SQL中char、varchar、text区别
- Oracle在rownum使用结果集排序
- Hibernate 关于方言
- mysql操作BLOB字段
- redis实现访问频次限制的几种方式
- SQL操作表数据_update操作
- Mysql 会导致锁表的语法
- SQLITE3 语法
- SQL 1-1
- SQLite学习笔记(7)-源代码整理
- OracleHelper(for produce)
- SQLite学习笔记(6)-SQLite架构
- 获得Oracle中刚插入的数据的ID(for produce)
- PostgreSQL Replication之第十三章 使用PL/Proxy扩展(3)
- mac系统在配置navicat时连接数据的时候提示can't connect to mysql server on '127.0.0.1'