概述:单位某软件是使用powerbuild开发的,后台数据库引擎是使用的sybase sql anywhere 5.5版本。缺省安装只能在单机使用。通过本文介绍的方法,可以让该软件的客户端软件(djpc.exe)和后台的数据库引擎分别运行于不同的计算机上,通过网络来传递数据。这样数据库引擎就可以为多台计算机提供服务。
关键:进行恰当的odbc设定并配合一些命令行程序来分别启动数据库引擎和客户端。
必要条件:无论是运行数据库引擎计算机、运行该软件客户端或者其它需要使用数据库引擎的计算机,都必须先安装sybase sql anywhere 5.5版本。
(注:数据库引擎可以和该软件或者其它要使用该引擎的应用程序位于同一台计算机上)
需要用到的sybase sqlanywhere的组件(程序):
1.dbsrv50.exe 这是sybase sql anywhere的数据库引擎;
2.dbclient.exe 这是sybase sql anywhere的客户端程序,用来连接到数据库引擎;
这些程序位于sybase安装文件夹的sql anywhere\win32文件夹下。
需要用到的操作系统组件:
odbc administrator(位于控制面版的管理工具文件夹下)
重要提示:sybase sql anywhere的各项设置中,包括数据源名称,数据库名称等,都是大小写敏感的。如果碰到命令正确但无法连接的情况时,请注意以下这些名称的大小写。
一、设置并运行数据库引擎
在需要运行数据库引擎的计算机上,打开odbc administrator面版,转换到系统dsn
选择添加,驱动程序类型选择“sybase sql anywhere”
点击“完成”后,会自动出现sybase sql anywhere odbc的配置窗口:
数据源名称设定为djpc,用户名和密码分别是dba和sql,指定服务器名称和数据库名称为djpc,然后选择数据库文件,最后,点击option:
注意将“start command”从“dbeng50.exe”修改为“dbsrv50.exe”(前者是单机数据库引擎,后者才是我们要的网络数据库引擎),然后在参数中写上“-x netbios”(意思是指定数据库引擎仅使用netbios命令来宣告服务器。经过测试,无法使用tcpip,老是会说服务器名称已经存在,不知何故),最后点击ok,odbc配置部分即告完成。
理论上,这样配置了sybase sql anywhere的数据库引擎后,当有数据库请求时,该引擎应该能够自动启动,但大多数情况下需要手工预先启动该引擎才行:在cmd下运行:
其中,参数“-c 40m”指定引擎使用40兆的内存作为缓冲区(可根据需要进行调整,缓冲越大,性能越好。如果不指定该参数,那么缺省的缓冲区只有2兆,性能非常低)。
以下是数据库引擎启动后的画面:
二、设置客户端连接
客户端的odbc设置仍是在odbc administrator中完成的,步骤和设置数据库引擎类似,仅是配置的参数和所使用的sybase sql anywhere的组件不同:
(注意大小写)
再看选项:
设置完成。
当客户端有对该odbc的请求时,系统会自动运行dbclient来连接数据库引擎。
ilittlefat
二○○四年十一月二十三日