使用DBArtisan实现Sybase,DB2跨平台移植,DBArtisan 中文乱码解决


一.使用DBArtisan做什么?
DBArtisan最好被一个具备数据库管理经验的系统管理员使用,这样就能够更快地跨多个不同的服务器,对某些用户的特别地数据库更改需求作出正确地回应。
现实中很多sybase和db2数据库管理人员很喜欢使用DBArtisan做数据库管理和维护。

DBArtisan最新版本下载http://www.innovatedigital.com/download/DBArtisan

 

1.DBArtisan可以将数据库的表、表结构、索引、存储过程等非数据信息移植出来吗?
可以的。DBArtisan可以生成一个标准的数据库结构.
使用DBArtisan工具可以生成数据库建库脚本语句。该建库脚本只能包含建表语句(create table)等数据库DDL,不能包含其他脚本语句。以DBArtisan为例,打开DBArtisan,登录进入源数据库,打开数据库找到TABLES项,选中全部表后EXTRACT,导出生成表结构的脚本语句,存为CREATETALBE.SQL,并在第一行加上“USE 本地数据库名”,否则要是在MASTER上操作就麻烦了。
Oracle生成整个库的DDL脚本很容易,执行带FULL=y ROWS=n的EXP就可以了,sybase和db2可以通过dbartisan这样的工具去做。

2.SYBASE的跨平台移植要怎么进行?
dump不能跨平台的话,那么应该怎样移植呢?比如:表结构,视图,索引,表数据,存储过程等应该怎样处理呢?
库表结构用sybase central生成DDL,数据用SYBASE bcp命令或BCB中的BatchMove(对text,image字段很有用)导入数据。
我推荐大家使用一个第三方公司做的软件DBArtisan,这个工具比较好用,我经常使用这个工具导数据库脚本。
应用系统的主要内容是应用源代码、数据库结构。利用DBArtisan可以对数据库结构(可以含有数据)进行抽取、移植、发布。比较Sybase Central、PowerDesigner等工具后发现DBArtisan抽取的数据定义语句最精确、展现方式最丰富、移植和归档工作最方便。
利用DBArtisan不但可以更方便、高效地完成复杂的交互式命令所能实现的功能,还能进行交互式命令不能/不易实现的操作。如:NT与IBM/AIX不同平台之间的Sybase数据库移植,不同平台间数据库数据、结构、用户、权限等的移植。


3.DBArtisan在编写存储过程时可以使用向导完成,使用非常方便。


二.DBArtisan使用问题汇总

1.DBArtisan 使用技巧(快捷键)
Alt + F3  快速查找一个表

2.dbartisan 怎么输入查询语句呢?
在文件菜单上选择new->ISQL


3.DBArtisan 中文乱码解决
网友观点1:
当使用DBArtisan 8.5.4查询数据出现中文乱码时,可按以下步骤修改DBArtisan的字符集,如果不好用,请在修改sybase客户端的字符集。

 file → Options → Connection → Client Character Set :eucgb

菜单datasource中选中edit registration 打开,在弹出窗口中找到advanced那项,
JDBC对应的下拉框中sybase 12.5 driver 即可,默认的是Embarcadero sybase driver

网友观点2:在DBArtisan中就找到一个与字符集有关的地方在 Options--Connection中的Client Character Set处,我已经把它设置为ZHS16GBK,和Oracle服务器、客户端的均一致。

网友观点3:
Sybase数据库和DBArtisan客户端中文乱码完全解决办法!
(1。使用isql查看当前已经安装的字符集
isql -Usa -Plongtop
>use master
>go


>select id,name from syscharsets
>go

(2。查看当前使用的缺省字符集
>sp_configure "default char"
>go

(3。如果列表中没有安装cp936,就安装cp936字符集。
进入目录\sybase\charsets\cp936
运行命令 charset -Usa -Plongtop binary.srt cp936
运行完成后,系统就安装了cp936字符集。

(4。验证是否确实安装了cp936字符集
isql -Usa -Plongtop
>use master
>go
>select id,name from syscharsets
>go
列表中可以发现已经安装了cp936,id是171

(5。把系统的当前缺省字符集设置为cp936
>sp_configure "default char",171
>go

(6。重启Sybase服务,使更改生效
第一次重启,系统会对已经存在的数据进行转换,转换完成后自动停止服务,只要再次启动服务就可以了。

(7。更改DB客户端的字符集
DBArtisan中要更改客户端的字符集为cp936才能连接cp936的服务器
通过菜单\Logfile\Options...打开对话框,选择Connection标签,
更改Client Character输入框的值为cp936。

数据库的charset修改为cp936时,使用isql按如下的方式
isql -Usa -Plongtop -Sdbserver -Jcp936


4.安装上DBArtisan链接sybase数据库后,报缺少libct.dll和libcs.dll文件?
Embarcadero DBArtisan就是统一的数据库管理工具,可以支持oracle,sybase,mssql,db2,informix等数据库,
如果你经常操作多种数据库,哪么DBArtisan是一个好的选择,相当于通用的数据库管理工具,很好很强大。
从网上下载了个8.1.3版本的,安装完链接sybase数据库后,报缺少libct.dll和libcs.dll文件。从网上搜索答案说在你的ASE安装目录的一个“/ocs***/dll”子目录下就有。因为以前就装了Sybase ASE15.0的客户端,但是在安装目录“C:\sybase\OCS-15_0\dll”下没发现这两个文件,仔细一看该目录下的文件全是libsyb打头的,倒是有libsybct.dll和libsybcs.dll这两文件,是不是这两个呢?不管那么多,复制后重新命名成libct.dll和libcs.dll,再更改环境变量在PATH上添加一条C:\sybase\OCS-15_0\dll。因为所修改的环境变量不涉及到系统服务,只是跟应用程序有关,那么只要简单地重新启动此应用程序,环境变量的修改就会反映到该程序中,而不必重新启动计算机。重新启动DBArtisan,哈哈,这次连接数据库正常了。总结一下原因还是这个DBArtisan版本低了,不太兼容Sybase ASE15.0的客户端。


 DBArtisan最新版本下载http://www.innovatedigital.com/download/DBArtisan