通過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
%>
(未完待續)