一个加密过的老版本的Sybase ASA5.0数据库中的数据导出全过程

昨天,论坛上的一位朋友求助,说是一个很老的版本的ASA5.0数据库,没有安装文件,死活连不上,默认用户密码DBA/SQL不能用,似乎改掉了。

我回忆了一下,似乎这个版本对应的是PowerBuilder6.0/6.5上的ASA数据库。开始我建议使用jutils2.0(ASE/ASA自带的)工具进行连接,没想到,总是失败,看来jutils中的jdbc驱动相对于ASA5太新了,不能用。

 

如果有PB6,也许比较好弄。手头没有。只好让他把ASA5二进制可执行文件整体打包给我。

 

1. 首先要恢复db文件中的用户密码. 

找到十六进制的44 42 41,将对应的一串值换为如下图所示:

 

用户密码恢复为dba/sql

 

2. 注册ASA5的ODBC驱动:

其reg内容如下:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI]

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers]
"Sybase SQL Anywhere 5.0"="Installed"

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Translators]
"Sybase SQL Anywhere 5.0 Translator"="Installed"

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Sybase SQL Anywhere 5.0]
"Driver"="C:\\shared\\ASA5\\Win32\\WOD50T.DLL"
"Setup"="C:\\shared\\ASA5\\Win32\\WOD50T.DLL"

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Sybase SQL Anywhere 5.0 Translator]
"Setup"="C:\\shared\\ASA5\\Win32\\WTR50T.DLL"
"Driver"="C:\\shared\\ASA5\\Win32\\WTR50T.DLL"

 这里要将c:\\shared\\ASA5\\Win32替换为真正的ASA5路径。WOD50T.dll就是实际的driver了。

 

3. 使用ODBC管理器添加ODBC数据源

选择驱动"Sybase SQL Anywhere 5.0",
分别填入:
Datasurce name: DBGL_DB
UserID: dba
Passwd: sql
Database file:db文件全路径
Databas Name: DBGL_DB

 

4. 使用ODBC管理工具,如WinSQL5,即可浏览该数据库中的数据。

一个加密过的老版本的Sybase ASA5.0数据库中的数据导出全过程

 

连接上以后,table--> browse data即可。

 

一个加密过的老版本的Sybase ASA5.0数据库中的数据导出全过程

 

 

最终导出,可以使用WinSQL的逐表导出,也可以使用程序实现。

当然,利用Access的功能,可以直接导出为一个Access数据库。使用SQL Server的DTS,可以直接导出到其它ODBC数据源。

 

使用PowerBuilder的pipeline,也可以实现导出。

 

总之,前边的ODBC驱动的注册以及事先的crack都是必要的准备步骤。

 

你可能感兴趣的:(sql,sql,c,server,Sybase,PowerBuilder)