发布网友
共3个回答
懂视网
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/‘" |
属性 |
子属性 |
必须 |
值(举例) |
说明 |
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 |
如果使用了INSERTDELETEUPDATE 触发器(Trigger)务必加上这个参数,否则更新会有异常。 |
VDN平台各种数据库连接设置
标签:
热心网友
设置连接池有2中方式,
1:在server.xml中添加配置文件。
2.通过tomcat界面配置
下面是server.xml添加配置文件。
<!--这是tomcat6.0.28-->
<!--配置站点信息path是站点跟目录,docBase是站点在磁盘上的实际位置,同时还要注意
<Context path="/MyWebSite" docBase="d:/MyWebSite" debug="0" />表示Context配置完成。
-->
<Context path="/MyWebSite" docBase="d:/MyWebSite" debug="0">
<!--name:给数据源设置的名字(JNDI) auth:表示数据源由谁管理,这儿是tomcat容器本身 type:类型
-->
<Resource name="xie" auth="Container" type="javax.sql.DataSource" />
<!--给name="xie"的数据源的参数进行配置
-->
<ResourceParams name="xie">
<!--工厂设置-->
<parameter>
<name>factory</name>
<value>org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory</value>
</parameter>
<!--
驱动设置,该驱动放在tomcat的lib下或者放在该站点的lib下
-->
<parameter>
<name>DriverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
<!--
设置连接数据库字符串,url
-->
<parameter>
<name>url</name>
<value>jdbc:mysql://127.0.0.1:3306/shop</value>
</parameter>
<!--设置连接数据库的用户名
-->
<parameter>
<name>username</name>
<value>root</value>
</parameter>
<!--设置数据库连接的密码-->
<parameter>
<name>password</name>
<value>centre</value>
</parameter>
<!--
在连接池中最大激活的连接数,即在同一时刻提供的活跃连接数
-->
<parameter>
<name>maxActive</name>
<value>200</value>
</parameter>
<!--设置最大空闲连接数,即在服务器空闲时将有190个连接将被tomcat容器回收-->
<parameter>
<name>maxDdle</name>
<value>10</value>
</parameter>
<!--客户端在队列池中的最大等待时间,按秒计算,-1表示客户端等待3分钟然后断开。-->
<parameter>
<name>maxWait</name>
<value>-1</value>
</parameter>
</ResourceParams>
</Context>
热心网友
1、在解决方案中添加一个新的类,命名CL_Conn,用于连接数据库。完整代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
using System.Windows.Forms;
using Microsoft.Data.ConnectionUI;
namespace CL_Conn
{
public class Conn
{
/// <summary>
/// 获取VS.NET 自带的数据库连接对话框的数据库连接信息
/// </summary>
/// <returns>数据库连接</returns>
public string GetDatabaseConnectionString()
{
string connString = String.Empty;
Microsoft.Data.ConnectionUI.DataConnectionDialog connDialog = new Microsoft.Data.ConnectionUI.DataConnectionDialog();
// 添加数据源列表,可以向窗口中添加自己程序所需要的数据源类型 必须增加以下几项中任一一项
connDialog.DataSources.Add(Microsoft.Data.ConnectionUI.DataSource.AccessDataSource); // Access
connDialog.DataSources.Add(Microsoft.Data.ConnectionUI.DataSource.OdbcDataSource); // ODBC
connDialog.DataSources.Add(Microsoft.Data.ConnectionUI.DataSource.OracleDataSource); // Oracle
connDialog.DataSources.Add(Microsoft.Data.ConnectionUI.DataSource.SqlDataSource); // Sql Server
connDialog.DataSources.Add(Microsoft.Data.ConnectionUI.DataSource.SqlFileDataSource); // Sql Server File
// 初始化
connDialog.SelectedDataSource = Microsoft.Data.ConnectionUI.DataSource.SqlDataSource;
connDialog.SelectedDataProvider = Microsoft.Data.ConnectionUI.DataProvider.SqlDataProvider;
//只能够通过DataConnectionDialog类的静态方法Show出对话框
//不同使用dialog.Show()或dialog.ShowDialog()来呈现对话框
if (Microsoft.Data.ConnectionUI.DataConnectionDialog.Show(connDialog) == DialogResult.OK)
{
connString = connDialog.ConnectionString;
}
return connString;
}
}
}
2、编译。然后将成的DLL文件在主启动程序(即调用程序)的引用中添加。
3、在程序中添加引用类。完整代码如下:
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using System.Windows.Forms;
namespace _0090705
{
class Conn
{
/// <summary>
///
/// </summary>
/// <returns></returns>
public SqlConnection creatConn()
{
string connection = string.Empty;
CL_Conn.Conn conn = new CL_Conn.Conn();
connection = conn.GetDatabaseConnectionString();
//SqlConnection thisConnection = new SqlConnection("Data Source = HZAU-XIEYAO\\SQLEXPRESS;Initial Catalog = DayDay;User ID = sa;Password = 200100");
SqlConnection thisConnection = new SqlConnection("" + connection + "");
try
{
thisConnection.Open();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
return thisConnection;
}
}
}
4、或者直接添加应用类的方法
[DllImport("CL_Conn.dll")]
static extern Form Conn();
private void 连接数据库ToolStripMenuItem_Click(object sender, EventArgs e)
{
CL_Conn.Conn conn = new CL_Conn.Conn();
conn.GetDatabaseConnectionString();
}