此例程以ASA5.0(SQL AnyWhere5.0)为例
1、登陆DOS环境,进入SQL AnyWhere5.0的安装路径(C:/Program Files/Sybase/SQL Anywhere 5.0/win32)
输入命令"Dbunload –c "uid=dba;pwd=sql;dbf=c:/demo.db;start=dbeng50.exe" -r c:/reload.sql c:/unload
注释:(1)加入参数start=dbeng50.exe(非dbeng50,因为加dbeng50与不加入该参数的效果是一样的)会指向你所指定
的数据库路径(即c:/demo.db),不加则会指向默认连接的数据库。
(2)c:/reload.sql保存创建数据库结构的脚本(此举也可输出表结构脚本用),c:/unload则保存数据库中的数据
(.dat文件)。
(3)附:Dbunload命令的格式和参数说明(也可在DOS环境下调出该命令参数)
dbunload [ options ] [ directory ]
选项 说明
-ac "keyword=value; ..." 为重装提供连接参数
-an database 创建与正在卸载的数据库具有相同设置的数据库文件,并自动重装它
-ar directory 重建并替换数据库
-c "keyword=value; ..." 为卸载提供数据库连接参数
-d 只卸载数据
-e table, ... 不卸载列出的表
-ea algorithm 指定要使用的加密数据库的高度加密算法:您可以选择 AES 或 MDSR
-ek key 指定加密密钥
-ep 提示输入加密密钥
-ii 内部卸载,内部重装(缺省)
-ix 内部卸载,外部重装
-j nnn 重复卸载视图创建语句
-n 无数据——只有模式定义
-o filename 将输出消息记录到文件
-p char 外部卸载的转义字符(缺省值为"/")
-q 安静模式——无窗口或消息
-r reload-file 指定已生成的重装 Interactive SQL 命令文件的名称和目录(缺省为 reload.sql)
-t table,... 只卸载列出的表
-u 未排序的数据。不使用索引来卸载数据。
-v 详细信息
-xi 外部卸载,内部重装
-xx 外部卸载,外部重装
-y 替换命令文件而无需确认
2、使用dbinit命令创建一个新的数据库
dbinit c:/new.db
3、使用ISQL连接到这一新数据库并读早先创建的c:/reload.sql文件,即可将表结构与数据导入到新创建的数据库中
READ c:/reload.sql
至此,瘦身结束,其它版本的ASA瘦身操作与命令格式大体一致。