存档
Sybase ASE15.0及以后的版本中的bcp命令实用工具中有个-Y参数,这个参数的作用是:禁用在服务器中的字符集转化,在使用bcp in时由bcp在客户端上执行字符集转化过程。
只有ASE15.0或更高版本中支持客户端unicode转化。
另外:所有字符集转化都是在bcp out期间在服务器中执行的。
提供一个能够自动生成Sybase数据库内所有表的表结构、索引语法的存储过程。
存储过程名字:sp_gettabledll 下载
过程语法如下:
----------------------------------------------------------------------------------------------------------------------
if exists(select 1 from sysobjects where name = 'sp_gettabledll' and type = 'P')
drop procedure sp_gettabledll
go
create procedure sp_gettabledll
@tblname varchar(30) = null,
@prechar varchar(4) = null, --$:no print
@table_dll varchar(16384) = null out,
@dbname varchar(32) = null,
@droptg char(1) = '1',
@prxytx varchar(255) = null,
@replace varchar(20) = null,
@tabtype varchar(1) = 'A', --A:所有表;P:代理表;U:用户表
@indextg varchar(3) = 'TPI', --T:纯表;P:主键;I:纯索引;J:除主键外的纯索引(和TP使用与I相同,和I同时使用I失效)
@table_seg varchar(32) = null,
@index_seg varchar(32) = null
as
begin
set nocount on
在sybase中找回丢失的sa密码
前提条件是sa未被锁定!
1、在sybase目录的install子目录的启动server文件
RUN_server(这里的server表示你的服务器名称,如这里我的是RUN_FENGLB)名,编辑该文件,
在其中的“<Sybase目录>\data\master.dat -sFENGLB”后加入参数 -psa,
保存该文件。
2、如果服务器已经启动,先停止之。
3、启动一个DOS窗口,转到上面的install目录,将DOS窗口的属性的屏幕缓冲区大小设置为9999,将执行第1步批处理文件以启动 server,在启动之后,将DOS窗口中的内容全部复制到记本事中,查找字符串“New SSO password for sa:”,后面的就是sa的新口令,记录之。
4、切换到SQL Advangtage以sa帐号登录,口令为刚刚得到的密码。
5、进入server以后,用命令sp_password修改sa口令:sp_password '原密码','新密码','用户名'
新密码的位数一定要大于6位,否则不能够更改成功。
6、回到第1步,去掉增加的选项-psa,保存退出。
转自:http://blog.csdn.net/fenglibing/archive/2008/02/15/2097060.aspx
用sybase自带的客户端工具sybase central连接ase的时候,如果连接字符集设置不合适,查询结果中汉字会出现乱码。
如果ASE数据库的字符集为:iso_1或者cp850,执行:
sp_configure "disable character set conversi",1
go
修改此配置参数,需要重启ASE服务器。
然后,在sybase central连接配置窗口中,将Character set调整为:cp936。必须设置Character set这个参数,否则sybase central中显示的汉字肯定是乱码,这和sybase central使用的jdbc驱动有关。
其实,将Character set也可以调整为:eucgb,gb18030,这些都是支持中文的字符集。
另外,如果ASE服务器的字符集为:cp936或者utf8,可以不用修改参数disable character set conversi为:1。仅仅通过调整Character set为:cp936 也能解决汉字显示乱码的问题。