如何利用powerbulder 9.0打开sybase sql anywhere 6.0的数据文件

来源:互联网 发布:js面向对象编程pdf 编辑:程序博客网 时间:2024/06/05 02:52

Sybase SQL Anywhere数据库功能很强,结构也比较复杂。一般情况下,用户都是通过用PowerBuilder开发的应用程序界面来访问它。但应用程序固定的界面不能完全满足数据库管理员的特殊要求。这时,就需要用系统工具进行直接访问。
案例环境:应用程序test,含三个SQL数据库文件:test1.db、test2.db、test3.db,存放在 C:/test/db下,可执行文件和动态链接库放在C:/test/exe下。

同时启动多个后台数据库服务器进程

Sybase SQL Anywhere可以同时启动多个后台数据库服务器进程,而每个进程又都可以至少控制一个SQL数据库,这大大方便了数据库的分类管理。

操作方法是:

1.开始→程序→MS-DOS方式→在命令行窗口里“C:/test/exe〉”提示符号下运行:dbstart -n db_server1。

2.同样,打开第2个命令行窗口,键入:dbstart -n db_server2。

这两条命令分别启动了名为db_server1、db_server2的数据库服务器进程,其中-n参数用来为进程命名。

同时打开多个数据库

在进行复杂的数据提取时,往往需要同时打开多个数据库。在下面的示例中,数据库服务器进程db_server1同时控制着数据库db_alias1(对应的物理数据库文件为C:/test/db/test1.db)、db_alias2(对应的物理数据库文件为C:/test/db/test2.db)。

操作方法是:

资源管理器→运行C:/test/exe/scview.exe,打开SQL控制中心→“工具”选单→连接→弹出“SQL Anywhere Logon”数据库登录窗口→填入:用户标识:数据库管理员dba;口令:dba的口令;服务器进程名:db_server1;数据库名:为要打开的数据库任取一别名,这里是db_alias1;数据库文件:用“浏览”按钮选中物理数据库C:/test/db/test1.db→点击OK按钮。这样就打开了第1个数据库db_alias1。

为了打开第2个数据库,在SQL控制中心→选中数据库服务器db_server1图标→单击右键,弹出快捷选单→单击“启动数据库”项→弹出“启动SQL Anywhere数据库”窗口→在“With database name”文本框中填入要使用的数据库名db_alias2→在“Using database file”文本框中填入要使用的数据库文件名C:/test/db/test2.db→点击“确定”按钮→选中db_alias2从右键选单中选“打开”→出现Logon界面→输入dba和口令→点击“确定”按钮。这样就打开了第2个数据库db_alias2。

SQL命令工具的使用

Sybase SQL Anywhere数据库包含了一个交互式SQL命令解释器----ISQL。有时,直接用SQL命令来操纵数据库,速度要比用Sybase图形界面工具高得多。

1.操作方法是:选中要操作的数据库db_alias1→单击右键,弹出快捷选单→单击“打开ISQL”项→弹出ISQL界面,共有3个小窗口:数据窗口、状态窗口、命令窗口→在命令窗口里输入SQL命令,单击“执行”按钮,即可在“数据窗口”里显示命令结果,同时“状态窗口”也会显示一些系统提示信息。

2.几个隐含功能:


在“文件”选单中选“打开”,可以将事先编辑好的SQL命令过程调入,以批处理的方式执行。
在“编辑”选单中选“插入”,可以看到当前数据库所包含的表的名称及其字段信息。
在“命令”选单中选“重新调用”,可以看到历史命令列表,从中点取一个,ISQL自动将其粘贴进命令窗口等待编辑或执行,省去了重新录入的麻烦。


数据库表的导出

一个SQL Anywhere数据库往往包含上百个二进制格式的二维表。为了便于备份和管理,DBA经常需要将其导出存为文本格式。SQL Anywhere支持两种形式的数据库表导出:

1.数据库停止状态下二维表的离线导出。这种形式的导出,比较安全完整,DBA可以在服务器比较空闲、无人使用数据库时进行。

2.数据库正在运行时二维表的在线导出。这种形式的导出,DBA可以随时进行,便于为数据库的当前状态保存一个“快照”。

操作步骤为:进入SQL控制中心窗口→在左窗格单击SQL Anywhere实用工具项→在右窗格列出当前可用的实用工具→选择Unload工具→出现导出询问窗口,选择离线导出或在线导出。若是离线导出,用“浏览”按钮选择物理数据库文件名;若是在线导出,录入数据库服务器名、数据库名。

然后,单击“下一步” →以DBA名义登录→系统自动创建一个名为RELOAD.SQL的命令文件,用于以后的重新导入,您可以给它改名。单击“下一步”→出现导出位置选择窗口。一种是内部导出,导出文件放在网络服务器端;另一种是外部导出,导出文件放在网络客户端。需要DBA根据网络和存储设备的负载情况进行选择。系统将在指定位置下自动创建一个名为“UNLOAD”的文件夹,用于存放导出文件。单击“下一步”,出现导出内容选择窗口。可以选数据和结构全部导出,也可选只导出数据或结构。单击“下一步” →出现“确认”对话窗,如有需要更改的选项,单击“上一步”退回修改,否则,单击“完成”→出现导出状况动态显示窗口,实时显示某个数据库表正在被导出。需要注意的是,导出的文件主名由SQL Anywhere自行编号设定,和表名不一定相同,其后缀为dat,可用文本编辑器打开。

数据库的压缩/解压缩

通常,SQL数据库文件的体积都比较大,几百MB一个文件并不稀奇。所以,如果不进行压缩,备份起来费时费力,比较麻烦。幸好,SQL Anywhere自带了数据库压缩工具,而且效率也很高,一般可压缩掉70%以上。

ccid_nobr>

压缩


比较快捷的方法是:在MS-DOS方式窗口中,直接使用dbshrink压缩命令。格式为:dbshrink 〈要压缩的数据库文件名〉 。

以压缩test1.db为例,键入:dbshrink C:/test/db/test1.db

原创粉丝点击