首页 > 代码库 > sql anywhere 网络连接

sql anywhere 网络连接

在安装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;