mysql datapath_通过ADO连接各种数据库的字符串翠集

在网络编程过程中,ADO(Activex Data

Object)编程往往是不可少的工作,特别是开发电子商务网站。既然讲到ADO数据对象,那么就顺便简单地介绍一下ADO数据对象及其功能。ADO数据

对象共有七种独立的对象,他们分别是连接对象(Connection)、记录集对象(RecordSet)、域对象(Field)、命令对象

(Command)、参数对象(Parameter)、属性对象(Property)和错误对象(Error)。功能请参见附录1。

ADO数据对象用来连接数据库的方式有两种,分别是ODBC和OLE DB方式,下面就分别介绍用这两种方式连接数据库的例子。

第一种:ODBC DSN-Less Connections

ODBC Driver for Access

ODBC Driver for dBASE

ODBC Driver for Excel

ODBC Driver for MySQL

ODBC Driver for Oracle

ODBC Driver for Paradox

ODBC Driver for SQL Server

ODBC Driver for Sybase

ODBC Driver for Sybase SQL Anywhere

ODBC Driver for Text

ODBC Driver for Teradata

ODBC Driver for Visual FoxPro

第二种:OLE DB Data Provider Connections

OLE DB Provider for Active Directory Service

OLE DB Provider for DB2

OLD DB Provider for Internet Publishing

OLE DB Provider for Index Server

OLE DB Provider for Microsoft Jet

OLE DB Provider for ODBC Databases

OLE DB Provider for Oracle (From Microsoft)

OLE DB Provider for Oracle (From Oracle)

OLE DB Provider for Simple Provider

OLE DB Provider for SQL Server

一、下面我就先讲利用ODBC DSN来访问数据库,要完成这项工作,必须先通过“控制面板”—“管理工具”—“ODBC数据源”来建立一个数据源名,例如叫做TestData_Resoure。

1) 通过系统数据源(System DSN)的连接

Dim oConn,strConn

Set oConn=Server.CreateObject(“ADODB.Connection”)

StrConn="DSN=TestData_Resoure;" & _

"Uid=AdminAccount;" & _

"Pwd=PassWord;

oConn.Open strConn

%>

2) 通过文件数据源(File DSN)的连接

Dim oConn,strConn

Set oConn=Server.CreateObject(“ADODB.Connection”)

StrConn="FILEDSN=c:\somepath\mydb.dsn;" & _

"Uid=AdminAccount;" & _

"Pwd=PassWord;"

oConn.Open strConn

%>

3) 通过连接池(DSN-Less)的连接(ODBC Driver for AS/400)

Dim oConn,strConn

Set oConn=Server.CreateObject(“ADODB.Connection”)

strConn= "Driver={Client Access ODBC Driver (32-bit)};" & _

"System=myAS400;" & _

"Uid=myUsername;" & _

"Pwd=myPassword;"

oConn.Open strConn

%>

二、利用数据库驱动程序直接访问数据库的连接字符串。

1) ODBC Driver for Access

● 标准的也是比较常用的连接方法

Dim oConn,strConn

Set oConn=Server.CreateObject(“ADODB.Connection”)

StrConn= "Driver={Microsoft Access Driver (*.mdb)};" & _

"Dbq=”&Server.MapPath(“Testdb.mdb”); & _

"Uid=AdminAccount;" & _

"Pwd=Password;"

oConn.Open strConn

%>

● 假如是一个工作组的系统数据库,那么连接字符串如下

Dim oConn,strConn

Set oConn=Server.CreateObject(“ADODB.Connection”)

StrConn= "Driver={Microsoft Access Driver (*.mdb)};" & _

"Dbq=c:\datapath\Testdb.mdb;" & _

"SystemDB=c:\datapath\Testdb.mdw;", _

"admin", ""

oConn.Open strConn

%>

● 假如数据库(MDB)是网络上共享的,那么连接字符串如下

Dim oConn,strConn

Set oConn=Server.CreateObject(“ADODB.Connection”)

StrConn="Driver={Microsoft Access Driver (*.mdb)};" & _

"Dbq=\\myServer\myShare\myPath\Testdb.mdb;"

oConn.Open strConn

%>

2) ODBC Driver for dBASE

Dim oConn,strConn

Set oConn=Server.CreateObject(“ADODB.Connection”)

StrConn="Driver={Microsoft dBASE Driver (*.dbf)};" & _

"DriverID=277;" & _

"Dbq=c:\FilePath;"

oConn.Open strConn

%>

说明:这里要注意的一点就是,在SQL查询语句中要特别指定数据库文件名,例如:

oRs.Open "Select * From Testdb.dbf", oConn, , ,adCmdText

3) ODBC Driver for Excel

Dim oConn,strConn

Set oConn=Server.CreateObject(“ADODB.Connection”)

StrConn="Driver={Microsoft Excel Driver (*.xls)};" & _

"DriverId=790;" & _

"Dbq=c:\filepath\myExecl.xls;"

oConn.Open strConn

%>

4) ODBC Driver for MySQL (通过 MyODBC驱动程序)

● 连接到本地数据库(local database)

Dim oConn,strConn

Set oConn=Server.CreateObject(“ADODB.Connection”)

StrConn="Driver={mySQL};" & _

"Server=ServerName;" & _

"Option=16834;" & _

"Database=mydb;"

oConn.Open strConn

%>

● 连接远程数据库(remote databas)

Dim oConn,strConn

Set oConn=Server.CreateObject(“ADODB.Connection”)

StrConn="Driver={mySQL};Server=db1.database.com;Port=3306;" & _

"Option=131072;Stmt=;Database=mydb;Uid=myUsername;Pwd=myPassword;"

oConn.Open strConn

%>

5) ODBC Driver for Oracle

Dim oConn,strConn

Set oConn=Server.CreateObject(“ADODB.Connection”)

StrConn="Driver={Microsoft ODBC for Oracle};" & _

"Server=OracleServer.world;" & _

"Uid=myUsername;" & _

"Pwd=myPassword;"

oConn.Open strConn

%>

6) ODBC Driver for Paradox

Dim oConn,strConn

Set oConn=Server.CreateObject(“ADODB.Connection”)

StrConn="Driver={Microsoft Paradox Driver (*.db)};" & _

"DriverID=538;" & _

"Fil=Paradox 5.X;" & _

"DefaultDir=c:\dbpath\;" & _

"Dbq=c:\dbpath\;" & _

"CollatingSequence=ASCII;"

oConn.Open strConn

%>

7) ODBC Driver for SQL Server

Dim oConn,strConn

Set oConn=Server.CreateObject(“ADODB.Connection”)

StrConn="Driver={SQL Server};" & _

"Server=MyServerName;" & _

"Database=myDatabaseName;" & _

"Uid=myUsername;" & _

"Pwd=myPassword;"

oConn.Open strConn

%>

8) ODBC Driver for Sybase (通过Sybase System 11 ODBC Driver驱动程序)

Dim oConn,strConn

Set oConn=Server.CreateObject(“ADODB.Connection”)

StrConn= "Driver={SYBASE SYSTEM 11};" & _

"Srvr=myServerName;" & _

"Uid=myUsername;" & _

"Pwd=myPassword;"

oConn.Open strConn

%>

9) ODBC Driver for Sybase SQL Anywhere

Dim oConn,strConn

Set oConn=Server.CreateObject(“ADODB.Connection”)

StrConn= "ODBC; Driver=Sybase SQL Anywhere 5.0;" & _

"DefaultDir=c:\dbpath\;" & _

"Dbf=c:\sqlany50\mydb.db;" & _

"Uid=myUsername;" & _

"Pwd=myPassword;"

"Dsn="""";"

oConn.Open strConn

%>

10) ODBC Driver for Teradata

Dim oConn,strConn

Set oConn=Server.CreateObject(“ADODB.Connection”)

StrConn= "Provider=Teradata;" & _

"DBCName=MyDbcName;" & _

"Database=MyDatabaseName;" & _

"Uid=myUsername;" & _

"Pwd=myPassword;"

oConn.Open strConn

%>

11) ODBC Driver for Text

Dim oConn,strConn

Set oConn=Server.CreateObject(“ADODB.Connection”)

StrConn= "Driver={Microsoft Text Driver (*.txt; *.csv)};" & _

"Dbq=c:\somepath\;" & _

"Extensions=asc,csv,tab,txt;" & _

"Persist Security Info=False"

oConn.Open strConn

%>

12) ODBC Driver for Visual FoxPro

●使用数据库容器(database container)连接方式

Dim oConn,strConn

Set oConn=Server.CreateObject("ADODB.Connection")

StrConn= "Driver={Microsoft Visual FoxPro Driver};" & _

"SourceType=DBC;" & _

"SourceDB=c:\somepath\mySourceDb.dbc;" & _

"Exclusive=No;"

oConn.Open strConn

%>

● 不使用数据库容器(database container)连接方式(即Free Table Directory方式)

Dim oConn,strConn

Set oConn=Server.CreateObject(“ADODB.Connection”)

StrConn= "Driver={Microsoft Visual FoxPro Driver};" & _

"SourceType=DBF;" & _

"SourceDB=c:\somepath\mySourceDbFolder;" & _

"Exclusive=No;"

oConn.Open strConn

%>

详细的ado连接字符串解释

2009-05-07 21:11

· ODBC

o 标准连接(Standard Security):

"Driver={SQL Server};Server=Aron1;Database=pubs;Uid=sa;Pwd=asdasd;"

1)当服务器为本地时Server可以使用(local);

"Driver={SQL Server};Server=(local);Database=pubs;Uid=sa;Pwd=asdasd;"

2)当连接远程服务器时,需指定地址、端口号和网络库

"Driver={SQL

Server};Server=130.120.110.001;Address=130.120.110.001,1052;Network=dbmssocn;Database=pubs;Uid=sa;Pwd=asdasd;"

注:Address参数必须为IP地址,而且必须包括端口号

o 信任连接(Trusted connection): (Microsoft Windows NT 集成了安全性)

"Driver={SQL Server};Server=Aron1;Database=pubs;Trusted_Connection=yes;"

或者

"Driver={SQL Server};Server=Aron1;Database=pubs; Uid=;Pwd=;"

o 连接时弹出输入用户名和口令对话框:

Conn.Properties("Prompt") = adPromptAlways

Conn.Open "Driver={SQL Server};Server=Aron1;DataBase=pubs;"

· OLE DB, OleDbConnection (.NET)

o 标准连接(Standard Security):

"Provider=sqloledb;Data Source=Aron1;Initial Catalog=pubs;User Id=sa;Password=asdasd;"

o 信任连接(Trusted connection):

"Provider=sqloledb;Data Source=Aron1;Initial Catalog=pubs;Integrated Security=SSPI;"

(如果连接一个具体的已命名SQLServer实例,使用Data Source=Servere NameInstance

Name;但仅适用于 SQLServer2000)例如:"Provider=sqloledb;Data

Source=MyServerNameMyInstanceName;Initial Catalog=MyDatabaseName;User

Id=MyUsername;Password=MyPassword;"

o 连接时弹出输入用户名和口令对话框:

Conn.Provider = "sqloledb"

Conn.Properties("Prompt") = adPromptAlways

Conn.Open "Data Source=Aron1;Initial Catalog=pubs;"

o 通过IP地址连接:

"Provider=sqloledb;Data Source=190.190.200.100,1433;Network

Library=DBMSSOCN;Initial Catalog=pubs;User ID=sa;Password=asdasd;"

(DBMSSOCN=TCP/IP代替Named Pipes, Data Source的末尾是需要使用的端口号(缺省为1433))

· SqlConnection (.NET)

o 标准连接(Standard Security):

"Data Source=Aron1;Initial Catalog=pubs;User Id=sa;Password=asdasd;"

或者

"Server=Aron1;Database=pubs;User ID=sa;Password=asdasd;Trusted_Connection=False"

(这两个连接串的结果相同)

o 信任连接(Trusted connection):

"Data Source=Aron1;Initial Catalog=pubs;Integrated Security=SSPI;"

或者

"Server=Aron1;Database=pubs;Trusted_Connection=True;"

(这两个连接串的结果相同)

(可以用serverNameinstanceName代替Data Source,取值为一个具体的SQLServer实例,但仅适用于 SQLServer2000)

o 通过IP地址连接:

"Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=pubs;User ID=sa;Password=asdasd;"

(DBMSSOCN=TCP/IP代替Named Pipes, Data Source的末尾是需要使用的端口号(缺省为1433))

o SqlConnection连接的声明:

C#:

using System.Data.SqlClient;

SqlConnection SQLConn = new SqlConnection();

SQLConn.ConnectionString="my connectionstring";

SQLConn.Open();

VB.NET:

Imports System.Data.SqlClient

Dim SQLConn As SqlConnection = New SqlConnection()

SQLConn.ConnectionString="my connectionstring"

SQLConn.Open()

· Data Shape

o MS Data Shape

"Provider=MSDataShape;Data Provider=SQLOLEDB;Data Source=Aron1;Initial Catalog=pubs;User ID=sa;Password=asdasd;"

· 更多

o 如何定义使用哪个协议

§ 举例:

"Provider=sqloledb;Data Source=190.190.200.100,1433;Network

Library=DBMSSOCN;Initial Catalog=pubs;User ID=sa;Password=asdasd;"

名称 网络协议库

dbnmpntw Win32 Named Pipes

dbmssocn Win32 Winsock TCP/IP

dbmsspxn Win32 SPX/IPX

dbmsvinn Win32 Banyan Vines

dbmsrpcn Win32 Multi-Protocol (Windows RPC)

§ 重要提示

当通过SQLOLEDB提供者进行连接时使用以下语法:

Network Library=dbmssocn

但通过MSDASQL提供者进行连接时使用以下语法:

Network=dbmssocn

o 所有SqlConnection连接串属性

§所有连接属性

下表显示了ADO.NET SqlConnection对象的所有连接串属性. 其中大多数的属性也在ADO中使用.所有属性和描述来自于MSDN.

名称                      缺省值         描述

Application Name                         应用程序名称或者当没有提供应用程序时为.Net SqlClient数据提供者

AttachDBFilename

或者

extended properties

或者

Initial File Name                      主要文件的名字,包括相关联数据库的全路径。数据库名字必须通过关键字'database'来指定。

Connect Timeout

或者

Connection Timeout      15             在中止连接请求,产生错误之前等待服务器连接的时间(以秒为单位)

Connection Lifetime       0

当一个连接返回到连接池,当前时间与连接创建时间的差值,如果时间段超过了指定的连接生存时间,此连接就被破坏。它用于聚集设置中在运行服务器和准备上线

的服务器之间强制负载平衡。

Connection Reset          'true'         当连接从连接池移走时决定是否重置数据库连接。当设置为'false'时用于避免获得连接时的额外服务器往复代价。

Current Language                         SQL Server语言记录名称

Data Source

或Server

或Address

或Addr

或Network Address                      要连接的SQL Server实例的名字或者网络地址

Enlist                    'true'         为真时,连接池自动列出创建线程的当前事务上下文中的连接。

Initial Catalog

或Database                             数据库名

Integrated Security

或者Trusted_Connection 'false'        连接是否为信任连接。其取值为'true', 'false'和'sspi'(等于'true').

Max Pool Size             100            连接池中允许的最大连接数

Min Pool Size             0              连接池中允许的最小连接数

Network Library

或Net                   'dbmssocn'     网络库用于建立与一个 SQL Server实例的连接。

值包括dbnmpntw (命名管道),

dbmsrpcn (多协议),

dbmsadsn (Apple Talk),

dbmsgnet (VIA),

dbmsipcn (共享内存),

dbmsspxn (IPX/SPX),

dbmssocn (TCP/IP).

所连接的系统必须安装相应的动态链接库。

如果你没有指定网络,当你使用一个局部的服务器 (例如, "." 或者 "(local)"),将使用共享内存

Packet Size               8192           与 SQL Server的一个实例通讯的网络包字节大小

Password

或Pwd                                  SQL Server帐户登录口令

Persist Security Info     'false'        设置为'false',当连接已经打开或者一直处于打开状态时,敏感性的安全信息 (如口令)不会返回作为连接的一部分信息。

Pooling                   'true'         为真时,从合适的连接池中取出SQLConnection对象,或者必要时创建SQLConnection对象并把它增加到合适的连接池中。

User ID                                  SQL Server登录用户

Workstation ID                           the local computer name 连接到SQL Server的工作站名称

§ 注意:

使用分号分隔每个属性

如果一个名字出现多于两次,在连接串中的最后一次出现的值将被使用。

如果你通过在应用中由用户输入字段的值来构建连接串,你必须保证用户不会通过用户值里的另一个值插入到一个额外的属性来改变连接串。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值