Unable to connect to database server:specified database is invalid 错误修复方法

常见软件 博优软件、中顶软件、超赢软件、海德软件、方象软件

1.因为物理磁盘故障,如硬盘坏道或固件磁头损坏造成Anywhere 数据库无法打开
2.由于在使用过程中突然断电造成的数据库无法打开
3.由于操作系统或其它方面的故障导致数据库无法打开

1、将dbrepair.exe复制到数据库目录下 例如:d:\cwdata,在dos方式下执行以下语句。
2、d:\cwdata>dbrepair -k d:\cwdata\cwbase1.db 将错误页号(xxxx)记下 
3、d:\cwdata>dbrepair -z xxxx d:\cwdata\cwbase1.db
OK,问题通过

用Sybase提供的dbtranw.exe,DB32W.EXE,rtsqlw.exe等实用程序来完成恢复工作,步骤如下表。
步骤命令功能 :
1.Dbtranw -r-k-y mydb.logdb.sql把.log
文件的内容转换成的SQL语句
2.Attrib -r mydb.db
修改只读文件mydb.db的属性为可写
3.Attrib -r mydb.log
修改只读文件mydb.log的属性为可写
4.Copy new.db mydb.db
用新的空库文件覆盖被破坏的旧库文件
5.Copynew.log mydb.log
用新的日志文件覆盖旧的日志文件
6.DB32W.EXE -d mydb.db
启动数据库SQLAnywhere
7.Rtsqlw -q-c "userid=dba;
password=sql"readdb.sql
执行从.log文件中倒出来的SQL语句
其中第一步的功能是把旧的日志文件转换成SQL语句,并放在一个名为db.sql的文件中,特别注意它只能在第五步之前操作,否则日志文件会被new.log所覆盖,而导致无法恢复数据。最后一步的功能是从文件db.sql中读取SQL语句并执行,假设数据库的用户名为dba,而口令为sql。有关各个命令及参数据的更详细的用法可以查看相应的帮助。在此提醒用户注意:.log文件不能随便删除,否则恢复的数据就不完整。

Connection failed:Specified database is invalid ”

若ODBC中所有的内容都没有填错,那么就可以能是在建立数据库的时候,够选了Use Transaction Log选项,导致创建了日志文件。
而移植到别的机器上的时候,使用的目录并不一样,所以就出错了。

解决方法:
在创建ASA数据库的时候不创建LOG文件,如果已经创建了LOG文件则可以利用PB自带的工具Sybase central来去掉LOG文件和数据库文件的关联。操作步骤如下:
1)启动Sybase central在左边的树型目录中选择Utilities;
2)双击右边出现的条目中的change log file settings,直接next;
3)点Browse选择需要去除log文件的数据库文件,选好后next;
4)这里你会看到一些数据库的信息,log文件名,文件大小等。next;
5)去掉Maintin the following transaction log file前面的对勾(这里也可以改成新的目录),Finish;
6)配置ODBC连接数据库就可以了。

注:如果在Sybase central里没有ASA,则
tools->plug-ins->Register->Register a plug-in by specifying a plug-in registration file,找到asa.jpr
(一般在C:/Program Files/Sybase/SQL Anywhere 8/Java,以ASA8为例)。
注册之后就有了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值