如何手动设置数据库连接

发布网友

我来回答

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/‘"

附录:DBParms属性解释

属性

子属性

必须

值(举例)

说明

PROVIDERSTRING

database

测试帐套

指定帐套,对应服务器的帐套设置

deskey

deskey=Topany

与服务器交互式关键字加密的(参见安全设置一节),建议修改为自定义的值以增强安全性。

AppName

AppName=VDN

AppName程序名称 Host客户端名称 这两个选项是可选的,可以不填,需要的时候再用。使用后将在SQLSERVER的连接进程里显示。

Host

Host=PCName

DoubleQuote

默认 0
DoubleQuote=1

当值为1时就会执行: SET QUOTED_IDENTIFIER OFF 操作,可以在语句里使用双引号,作用同DelimitIdentifierToDB=‘Yes‘。此时要设置DelimitIdentifier=‘No‘ (默认,不用填写)

ConcatNull

默认 1
 ConcatNull=1

当值为1(默认)时执行: SET CONCAT_NULL_YIELDS_NULL OFF 操作,同NULL字符串连接时返回非空字符串,注意直连专用接口也是这样的,所以这个参数可以不用填写,保持默认就行了,除非要同NULL字符串相连时返回NULL时设置 ConcatNull=0

ConvertWChar

默认 0
ConvertWChar=1

这个参数是针对PB9的一个BUG来设置的,PB10及以上版本不用设置这个参数。如果使用PB9且SQLSERVER里使用了nvarchar,ORACLE里使用了varchar2等双字节数据类型就需要设置这个值,否则:PB9读取双字节字段会产生乱码。主要出现在动态DataWindow和嵌入式SQL语句里。

IgnorePBTable

默认 0
 IgnorePBTable=1

当值为1时VDN将忽略对PB系统表(pbcattbl)的检索.为动态DataWindow提速使用,速度提升很明显。

PLSQLRSet

PLSQLRSet=1

连接Oracle时如果使用存储过程作为DATAWINDOW的数据源,返回数据集(SYS_REFCURSOR)必须加上这个参数

Traditional

默认 0
Traditional=1

使用繁体序列号时设置该值为1

Encrypt

默认 0
Encrypt=1

对发往服务器的SQL语句进行加密处理,进一步增强安全性。
加密处理对系统速度会有一定的影响,根据需要酌情处理。

UpdateProject

检测VDN演示版的升级:
UpdateProject=VDN演示版
仅检测VDN客户端的升级:
UpdateProject=VesnDataClient

检测指定项目的升级信息,如果发现新版本则自动调用升级系统进行升级。
详见:智能升级 一节
V2015.6.5.1版本之后支持

Debug

Debug=1  PB开发模式
Debug=0  正式运行

指定系统的运行模式,在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();
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com