现在的位置: 首页 > 综合 > 正文

C#读取Sybase数据库中文乱码解决日记

2013年10月22日 ⁄ 综合 ⁄ 共 817字 ⁄ 字号 评论关闭

         首先,感慨一下,Sybase比较恶心!

          我用的是AseClient连接Sybase, 这个包有3个文件,要在安装Sybase的时候, 选择安装选项ADO.net,

安装完Sybase后,安装目录下会有个ADO.net子目录 , ADO.net/dll  目录下有3个dll文件, 就是.NET连接数据库

必需的3个文件!   记得引用Sybase.Data.AseClient.dll  . 编程模式和使用OracleClient一样!这里不多说!

           Sybase的默认的安装字符集选了ISO_1,结果装好数据库以后,发现在SQL Advantage里面执行SELECT

语句,查询的结果里面中文内容正常!用c#写的代码读出的中文内容,阿拉怎么看都不明白!是乱码!

            怎么办,查了半天资料,发现有个解决办法有用!

            就是:安装CP936字符集!

            处理步骤:  (假设安装目录是c:/sybase)

              STEP1:cmd命令行状态下:  

             1.c:/>cd /sybase/charsets/cp936
          2.c:/sybase/charsets/cp936> charset -Usa -P -S binary.srt cp936 
         

          STEP2.在SQL环境中
          1>select name,id from syscharsets
          2>go
         找到name为cp936对应的id(假设为171)
         .1>sp_configure "default character set id",171

          STEP3:

          绝招:重新启动机器!

           执行我的C#程序,中文字符没有乱码罗!   解决!

抱歉!评论已关闭.