VDN平台各种数据库连接设置
VDN (Vesn Data Net)平台是一套互联网数据库驱动为核心的系统,是继PB.NET之后另一互联网数据高速传输系统,VDN的最大特性简单、高速、安全、丰富。
目前为止VDN支持SQLSERVER(2000-2008),ORACLE(9I及以上),及通过ODBC可以实现连接的数据(例如:MySQL),以下通过示例演示PB程序如何通过VDN连接到各种数据库,更多详细的参数请见附录参数说明。
首先通过后台设置为数据库配置好参数,这样客户端就只需要设置帐套名称就可以了,不用再知道数据库的任何其余的信息。
一、 SQLSERVER
修改PB程序的SQLCA的连接参数:
SQLCA.DBMS = "OLE DB" SQLCA.AutoCommit = False SQLCA.Lock = "RC" // 或者RU ORACLE不要加这行 SQLCA.DBParm = "PROVIDER='VesnDB.Net'," SQLCA.DBParm+="PROVIDERSTRING='database=测试帐套;deskey=Topany;'," SQLCA.DBParm+="DATASOURCE='http://192.168.111.130/VDNDemo/'" |
注:
192.168.111.130修改为你的服务器的IP地址或域名。
二、 ORACLE
ORACLE的语法基本都C/S,存储过程的调用需要略微修改一下。
SQLCA.DBMS = "OLE DB" SQLCA.AutoCommit = False SQLCA.DBParm = "PROVIDER='VesnDB.Net'," SQLCA.DBParm+="PROVIDERSTRING='database=ERP;deskey=Topany;'," SQLCA.DBParm+="DATASOURCE='http://192.168.111.130/VDNDemo/'" |
三、 MySQL
MySQL通过VDN Server调用服务器端的ODBC驱动,实现MySQL的三层分布式调用
SQLCA.DBMS = "OLE DB" SQLCA.AutoCommit = False SQLCA.DBParm = "PROVIDER='VesnDB.Net'," SQLCA.DBParm+="PROVIDERSTRING='database=HIS;deskey=Topany;'," SQLCA.DBParm+="DATASOURCE='http://192.168.111.130/VDNDemo/'" |
附录:DBParms属性解释
属性 |
子属性 |
必须 |
值(举例) |
说明 |
PROVIDERSTRING |
database |
是 |
测试帐套 |
指定帐套,对应服务器的帐套设置 |
deskey |
是 |
deskey=Topany |
与服务器交互式关键字加密的(参见安全设置一节),建议修改为自定义的值以增强安全性。 |
|
AppName |
否 |
AppName=VDN |
AppName程序名称 Host客户端名称 这两个选项是可选的,可以不填,需要的时候再用。使用后将在SQLSERVER的连接进程里显示。 |
|
Host |
否 |
Host=PCName |
||
DoubleQuote |
否 |
默认 0 |
当值为1时就会执行: SET QUOTED_IDENTIFIER OFF 操作,可以在语句里使用双引号,作用同DelimitIdentifierToDB='Yes'。此时要设置DelimitIdentifier='No' (默认,不用填写) |
|
ConcatNull |
否 |
默认 1 |
当值为1(默认)时执行: SET CONCAT_NULL_YIELDS_NULL OFF 操作,同NULL字符串连接时返回非空字符串,注意直连专用接口也是这样的,所以这个参数可以不用填写,保持默认就行了,除非要同NULL字符串相连时返回NULL时设置 ConcatNull=0 |
|
ConvertWChar |
否 |
默认 0 |
这个参数是针对PB9的一个BUG来设置的,PB10及以上版本不用设置这个参数。如果使用PB9且SQLSERVER里使用了nvarchar,ORACLE里使用了varchar2等双字节数据类型就需要设置这个值,否则:PB9读取双字节字段会产生乱码。主要出现在动态DataWindow和嵌入式SQL语句里。 |
|
IgnorePBTable |
否 |
默认 0 |
当值为1时VDN将忽略对PB系统表(pbcattbl)的检索.为动态DataWindow提速使用,速度提升很明显。 |
|
PLSQLRSet |
否 |
PLSQLRSet=1 |
连接Oracle时如果使用存储过程作为DATAWINDOW的数据源,返回数据集(SYS_REFCURSOR)必须加上这个参数 |
|
Traditional |
否 |
默认 0 |
使用繁体序列号时设置该值为1 |
|
Encrypt |
否 |
默认 0 |
对发往服务器的SQL语句进行加密处理,进一步增强安全性。 |
|
UpdateProject |
否 |
检测VDN演示版的升级: |
检测指定项目的升级信息,如果发现新版本则自动调用升级系统进行升级。 |
|
Debug |
无 |
否 |
Debug=1 PB开发模式 |
指定系统的运行模式,在PB调试运行时设定Debug=1 |
PBTrimCharColumns |
无 |
否 |
PBTrimCharColumns='Yes' |
如果使用了Char类型的列,使用此参数可以在检索Char类型列时自动去除后面的空格。 |
RecheckRows |
无 |
否 |
RecheckRows=1 |
如果使用了INSERT\DELETE\UPDATE 触发器(Trigger)务必加上这个参数,否则更新会有异常。 |