Sybase to Oracle 心得

一、Sybase 与 oralce 数据类型的映射关系
[table]
| |Sybase 字段类型 |Oracle字段类型 |备注|
|[color=green]数字类型[/color]| 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)
|[color=green]日期类型[/color]| Datetime| Date |
| |SmallDatetime| date |
|[color=green]字符类型[/color]|Char |Char |
| |varchar |Varchar2 |
|[color=green]其它类型[/color] |TEXT |clob |
| |IMAGE |Blob |
| |Bit |Number(1)|
[/table]

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

二、Sybase总是出现中文乱码([url=http://www.itpub.net/thread-812127-1-1.html#]解决办法[/url])

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

输出结果应为:
Character Set = 2, [color=red]cp850[/color]
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

输出结果应为:[color=red]iso_1[/color]

说明:[color=green]很多时候应用程序报错,客户端和服务器端字符集不相匹配。[/color]
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 --> [color=red]sa[/color]登陆后 --> Language --> Character下的 Set Default --> 选择ISO 8859-1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值