Sybase to Oracle 心得

一、Sybase 与 oralce 数据类型的映射关系
Sybase 字段类型 Oracle字段类型 备注
数字类型 INT NUMBER
SMALLINT NUMBER
TINYINT NUMBER
MONEY NUMBER(m,n)
SMALLMONEY NUMBER(m,n)
FLOAT(n) NUMBER (n)
Decimal number
       Numeric(m,n) Number(m,n)
日期类型 Datetime Date
SmallDatetime date
字符类型 Char Char
varchar Varchar2
其它类型 TEXT clob
IMAGE Blob
Bit Number(1)


建议: Sybase中对应的除数值型数据外,在Oracle中全部转换为字符型

二、Sybase总是出现中文乱码( 解决办法

2.1、在isql状态下查看原来数据库字符集使用情况,服务器和客户端的都要查看,方法是:
2.1.1获得服务器端的字符集情况:
 1>sp_helpsort
 2>go 

  输出结果应为:
  Character Set = 2, cp850
     Code Page 850 (Multilingual) character set.
  Sort Order = 50, bin_cp850
     Binary Sort Order for Code Page 850 (cp850).

2.1.2 获得客户端字符集情况:
 
1>select @@client_csname
2>go

  输出结果应为: iso_1

  说明: 很多时候应用程序报错,客户端和服务器端字符集不相匹配。
2.2、将数据库的缺省字符集设置为cp936
 
C:\sybase\charsets\cp936>charset -Usa -P[密码] -S[实例名称] binary.srt cp936--一定是sa不然下一步会报错 

 
  通过上述命令就成功将CP936字符集安装表Sybase的系统字符集表中,但必须重启Sybase服务两次才能看到结果,可以通过查看 master数据库中的syscharsets表查看是否已经安装成功,我们可以看到已经安装成功了:1002,171,0,1,'cp936', 'CP936 (Simplified Chinese).',’…’

  你将看到下面的信息,表示这时你已经成功添加了cp936字符集到你的系统中。
  Loading file 'binary.srt'.
  Found a [sortorder] section.
  This is Class-1 sort order.
  Finished loading the Character Set Definition.
  Finished loading file 'binary.srt'.
  1 sort order loaded successfully

其实这样也行:开始--> sybase   -->   server   Config   -->   Configure   Adative   Server   -->   sa登陆后   -->   Language   -->   Character下的   Set   Default   --> 选择ISO   8859-1

你可能感兴趣的:(oracle,sql,应用服务器,SQL Server,Sybase)