发布PB + ASA程序时,因为建立数据库时建立了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连接数据库就可以了。
第二种方法:
dbeng7 -f -o -a a.db
PB程序移植后的ASA数据库连接问题
常见4种现象:
1. pb中创建一个ASA数据库,存放在E盘,把整个程序复制到另外一台机器中的D盘(或其他非E盘的路径),连不上数据库。
2. 连接时提示:cannot connect to the database sever: the specified database is invalid.
3. 程序移植后数据库的存放路径如果和原路径相同则可以连接数据库。
4. 建立ASA数据库的时候如果不使用LOG,则移植后即使db文件的路径不相同,也可以正常连接数据库。
解决办法:
找到PB安装后的程序位置,找到如下…\Sybase\SQL Anywhere 8\win32里面的DBLOG.EXE
把dblog.exe复制到你的db文件目录下使用
使用cmd,运行如下命令:
使用格式为:dblog [ options ] database-file
其中,[ options ]为 -t log-name 是设置事务日志名 database-file是数据库文件名。
例如 dblog -t db_source.log db_source.db
设置事务日志文件的名称 (-t) 此选项设置新的事务日志的文件名。如果数据库当前没有使用事务日志,它会开始使用一个。如果数据库已在使用事务日志,则它会改为将新文件用作其事务日志。
在设置时:
你的log-name为相对路径,或是没有路径只有一个文件名,那么你的db和log文件随便复制到什么路径下,都可以用了。 如里你的log-name为绝对路径,那你就可以限制你的用户的安装路径了!
另外,可以使用 dblog -n 数据库文件名,删除数据库日志文件。