TXT导入MSSQL 生僻字解决

原创 2007年09月27日 16:45:00

TXT导入MSSQL 生僻字解决
 
一,基本情况
  txt文件导入到MSSQL的时候若碰到汉字后两位编码和字段分隔符编码相同时,导入结果在MSSQL中会后移一列
例如 “弢”,“ 韡 ” 十六进制编码分别是 8F7C 和ED7C 而字段分隔符号“|”编码是7C 因此在导入是会将汉字7C误认为|而结束一个字段


二,解决方案
  MSSQL提供多种文本导入的方法,目前只发现MSSQL的BCP.exe能够识别生僻汉字

  如下命令行:
  1)
bcp XYZJCG..ZJCG_JYXT_HSJK_HKGDXX in "c:/tmp/KHXX0518.TXT" -b1000 -c -t"|" -r"|"/n -S. -Usa -Psa
  2)
bcp XYZJCG..ZJCG_JYXT_HSJK_KHJBXX in "c:/tmp/KHXX0518.TXT" -b1000 -f c:/tmp/BCP_KHXX.txt -S. -Usa-Psa

  使用到的 bcp几个参数:
-f format_file
指定格式文件的完整路径,该格式文件包含以前在同一个表或视图上使用 bcp 时的存储响应。当使用由 format 选项所创建的格式文件大容量复制入或复制出数据时,使用此选项。格式文件的创建是可选的。在提示几个格式问题之后,bcp 将提示是否在格式文件中保存回答。默认文件名为 Bcp.fmt。大容量复制数据时,bcp 可引用一个格式文件,因此不必重新交互输入以前的回答。如果未使用此选项,也没有指定 –n、-c、-w、-6 或 -N,则 bcp 将提示输入格式信息。
      (注意-f参数和后面的模板文件有空格)
-c
使用字符数据类型执行大容量复制操作。此选项不提示输入每一字段;它使用 char 作为存储类型,不带前缀,/t(制表符)作为字段分隔符,/n(换行符)作为行终止符。
-t field_term
指定字段终止符。默认的字段终止符是 /t(制表符)。使用此参数替代默认字段终止符。
-r row_term
指定行终止符。默认的行终止符是 /n(换行符)。使用此参数替代默认行终止符。

 

  这两种方法均可以导入,但是发现当KHXX0518.TXT文件超过25M(估计)时候,使用第一种方法并不能解决上述问题,而第二种方法无此限制,可第二种方法依赖于模板BCP_KHXX.txt 。所以各有长短,使用看实际情况。
 
 

C#实现TXT文本数据批量导入SQL Server

用程序就是将文本文件的每行根据固定的分隔符用Split函数分割,然后逐个加到参数中去..给个简单的DemoSQL code create database datagouse datagocreate...
  • Dailen_Liao
  • Dailen_Liao
  • 2010年06月30日 15:05
  • 4306

MSSQL文本文件导入导出

--文本文件导出  EXEC Master..xp_cmdshell bcp "select * from sqbl.dbo.SubCenter" QueryOut "c: est.txt" /c  ...
  • iori13
  • iori13
  • 2007年08月21日 17:58
  • 1504

生僻字处理

实验一 字符集:AL32UTF8实验过程: CREATE TABLE TEST(NAME VARCHAR2(15)); insert into TEST values ('㛃'); ins...
  • brj880719
  • brj880719
  • 2017年04月10日 17:53
  • 197

python读取txt并将数据插入到sql中

原始数据在txt中 处理有很多不变 想要把它们插入到sql中去 于
  • zhangla1220
  • zhangla1220
  • 2014年07月08日 16:27
  • 2760

SQLServer与excel和txt的导入导出

exec sp_configure 'show advanced options',1 --启用高级配置选项设置 reconfigure; exec sp_configure 'Ad Hoc Dist...
  • kk185800961
  • kk185800961
  • 2013年10月06日 19:29
  • 2677

oracle 字符集总结(超出GBK范围的字符存取问题未解决)

字符集总结: 一、服务器的字符集(用来存储数据用的编码格式) 二、操作系统字符集(用来显示、解码/编码与oracle交互的编码格式) 三、oracle客户端字符集(用于转换操作系统、服务器端编码/解码...
  • namesliu
  • namesliu
  • 2012年09月29日 00:33
  • 7950

jsoup 生僻字乱码问题解决

jsoup 简介 Java 程序在解析 HTML 文档时,相信大家都接触过 htmlparser 这个开源项目,我曾经在 IBM DW 上发表过两篇关于 htmlparser 的文章,分别是:从 H...
  • e_wsq
  • e_wsq
  • 2015年10月05日 20:14
  • 894

mssql数据导入MySQL数据库方法-CSV导入

使用MySQL 本身的CSV导入功能,把数据导出为csv格式,在MySQL数据库里建好表,使用MySQL的LOAD DATA语句导入csv数据。 具体如下: 1. 先从mssql导出数据为平面文件...
  • xmlife
  • xmlife
  • 2015年01月17日 18:03
  • 1174

关于在MySQL 、 VC、 JSP 中使用UTF-8解决中文生僻字乱码的问题

       近日在一java项目中出现中文生僻字就会出现问号的现象,上网找了些资料,说将GB2312编码改为GBK或者UTF-8就会无问题,但多数文章都讲的不详细,如果只是简单的将jsp页面的GB2...
  • yowen
  • yowen
  • 2009年06月13日 10:08
  • 4873

MSSQL数据导入导出基本方法

/*=================== 导入/导出 Excel 的基本方法 ===================*/ 从Excel文件中,导入数据到SQL数据库中,很简单,直接用下面的语...
  • smartsmile2012
  • smartsmile2012
  • 2013年06月01日 11:05
  • 2485
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:TXT导入MSSQL 生僻字解决
举报原因:
原因补充:

(最多只允许输入30个字)