在安装ASA时注意选择Networked Seat模式,改一下licensed seats的值,它的默认值是1,如果不改的话,数据库在同一时段只允许连接一个用户。
dbeng仅仅作为一个单机数据引擎启动;而dbsrv则要启动一个数据引擎服务器,要在网络中发送数据,因此对网络配置有一定的要求,比如一定要有通信协议,同一个局域网中不能有两个同名的数据引擎服务器等。
独占式访问和共享式访问
独占方式时,此时的数据库只允许连接的客户端使用,其他客户端不能访问了;共享就是几个客户端可以同时访问,资源不会只属于某一客户端。
以sql anywhere 9为例说明:
-----------------------------------------------------------
步骤一、启动数据库
开始 运行
"C:\Program Files\Sybase\SQL Anywhere 9\win32\dbsrv9.exe" "D:\Personal\Desktop\quicc_3.db" -n ccc -x tcpip{HOST=192.168.0.7;SERVERPORT=14899} -q
启动数据库,这里指定了端口,详细的参数请用dbsrv9.exe /?获取。
IP 和 HOST 是同义词。
-n servicename:启动服务名为servicename的数据库服务用以标记网络数据库服务唯一标记;
-x tcpip{HOST=192.168.0.7;SERVERPORT=1489}:使用tcp/ip协议,并指定ip和端口(注意端口占用,默认端口3362);
-q :后台方式运行,没有数据库运行界面,只能看到进程;
步骤二、建立ODBC连接
启动成功后,另外机器操作:ODBC->新建一个Adaptive SQL Anywhere9.0数据源,配置如下:
1.ODBC->data sourse name: 数据源名称
2.Login->登录用户/密码
3.Database-> ServerName处输入步骤一中指定的serviceName
4.Network -> 钩中tcp/ip,参数处输入一中启动服务器所在机器的IP,格式如下: HOST=192.168.0.7,其他协议可以不选。
重复第3个步骤,就可以配置多个客户端了,当然,服务器上也可以配置一个ODBC来连接到自己的。
启动时:
连接时:
ls_parmstring="ConnectString=‘DSN=xxxxx;dbn=;DBF=;EngineName="+ls_serverEngname+";UID=dba;PWD=yourPWD;CommLinks=SharedMemory,TCPIP{HOST="+ls_tcpip+"}‘,ConnectOption=‘SQL_DRIVER_CONNECT,SQL_DRIVER_NOPROMPT‘"
sqlca.dbms="odbc"
sqlca.dbparm=ls_parmstring
sqlca.autocommit=true
connect;