sybase数据库文中乱码问题

1.Sybase数据库日志满

碰到这种情况,常会出现能查询数据,但无法更新数据,启动事务等。在代码中跟踪可以发现,连接能够打开,但事务却无法开启。常会提示“Connection to Sybase server has been lost. All active transactions have been rollbacked”的错误信息。
解决办法:
若是开发数据库,则直接清除日志即可。 若是正式数据库:建议备份当前日志 再清空日志,扩日志设备及日志数据库。清空日志的语句为
dump   transaction   database_name   with   no_log  


2.Sybase中文乱码

出现这种情况的原因是sybase的服务器字符集不支持中文或是客户端的字符集与服务端字符集不一致。可以考虑更改sybase的默认字符集。在Sybase12.5的版本中支持中文的字符集有CP936、EUCGB、UTF-8和GB18030。这里我们针对Sybase服务器字符集不支持中文给出解决办法:
解决办法(安装cp936字符集):
假设sybase的安装路径为"D:\Sybase"。
(1) D:\>cd \sybase\charsets\cp936
(2) D:\sybase\charsets\cp936> charset -Usa -Psa_pass -Sserver_name binary.srt cp936

(3) 在InterActiveSQL中执行『select name,id from syscharsets』,需注意的是这里要选择在“master”数据库下执行,第4步也是。找到name为cp936的ID,假定是171。
(4)在InterActiveSQL中执行『sp_configure 'default character set id',171』
(5) 重启Sybase服务两次。因为第一次启动后会自动结束掉,所以需要重启第二次。

3.Sybase数据库整个库导出导入

导出
:declare @filename varchar(30)
select @filename='E:\BCP\bf_' + Convert(varchar(10),getdate(),110) + '.dat'
dump database ExamSysDB to @filename
go

导入:
load database pubs2
from 'E:\bcp\bf_080101.dat'


4.bcp导入导出数据

导入到ExamSysDB数据库的TB_USER表中:
bcp ExamSysDB..TB_USER in C:\BCP\SqlServerOut\TB_USER.bcp -Usa -P -SSyDevserver -Jcp936 -c 

导出ExamSysDB数据库的TB_USER表的数据:
bcp ExamSysDB..TB_USER out C:\BCP\SqlServerOut\TB_USER.bcp -Usa -P -SSyDevserver -Jcp936 -c 

批量导入数据的参考SQL
set nocount on use ExamSysDB
go
select 'bcp ExamSysDB..' + name + ' in C:\BCP\SqlServerOut\'
+ name + '.bcp -Usa -P -SDEVSERVER -Jcp936 -c '
from sysobjects
where type='U' and name like '%TB_%'
go

批量导出数据的参考SQL
set nocount on use ExamSysDB
go
select 'bcp ExamSysDB..' + name + ' out C:\BCP\SqlServerOut\'
+ name + '.bcp -Usa -Pdbadmin -SDevserver -c '
from sysobjects
where type='U' and name like '%TB_%'
go
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值