①.数据提供者:
由于每个提供者都是唯一的,所以应用程序与ADO交互作用的方式在不同的提供者之间略有差别,应用时需要注意它们之间的差别。不同数据提供者(Provider)其值归结于以下:
内容 主题 字符串值
ODBC数据库 Microsoft OLE DB Provider for ODBC MSDASQL
Microsoft? Index Server Microsoft OLE DB Provider for Microsoft Index Server MSIDXS
Microsoft? Active Directory Service Microsoft OLE DB Provider for Microsoft Active Directory Service ADSDSOObject
Microsoft? Jet数据库 OLE DB Provider for Microsoft Jet Microsoft.Jet.OLEDB.4.0
Microsoft? SQL Server Microsoft OLE DB Provider for SQL Server SQLOLEDB
Oracle数据库 Microsoft OLE DB Provider for Oracle MSDAORA
②.服务提供者:
要使用服务提供者,必须提供关键字。同时,也应当知道与每个服务提供者相关联的、特定提供者的动态属性。当前可从Microsoft获得的每个服务提供者的特定提供者(Provider)其值资料如下:
主题 字符串值
Microsoft Data Shaping Service for OLE DB MSDataShape
MicrosoftOLE DB Persistence Provider MSPersist
Microsoft OLE DB Remoting Provider MS Remote
2.DRIVER:字符串表达式,表示ODBC驱动程序的名称。它并不是ODBC驱动程序动态连接库(DLL)文件名。对于其中的定义必须用{}括起来,名称的选择可以通过以下途径:
对于Windows 9x和Windows NT:
"开始"→"设置" →"控制面板" →"数据源(ODBC)" →"ODBC数据源管理器" →"驱动程序"中
对于Windows 2000:
"开始"→"设置" →"控制面板"→"管理工具" →"数据源(ODBC)" →"ODBC数据源管理器" →"驱动程序"中
可以看到下列驱动程序名称:
Driver da Microsoft para arquivos texto (*.txt;*.csv)
Driver do Microsoft Access (*.mdb)
Driver do Microsoft dBase (*.dbf)
Driver do Microsoft Excel (*.xls)
Driver do Microsoft Paradox (*.db )
Driver para o Microsoft Visual FoxPro
Microsoft Access Driver (*.mdb)
Microsoft Access-Treiber (*.mdb)
Microsoft dBase Driver (*.dbf)
Microsoft dBase VFP Driver (*.dbf)
Microsoft dBase-Treiber (*.dbf)
Microsoft Excel Driver (*.xls)
Microsoft Excel-Treiber (*.xls)
Microsoft FoxPro Driver (*.dbf)
Microsoft FoxPro VFP Driver (*.dbf)
Microsoft ODBC for Oracle
Microsoft Paradox Driver (*.db )
Microsoft Paradox-Treiber (*.db )
Microsoft Text Driver (*.txt;*.csv)
Microsoft Text-Treiber (*.txt;*.csv)
Microsoft Visual FoxPro Driver
Microsoft Visual FoxPro-Treiber
SQL Server
Sybase System 11
从其中选择自己所需要的驱动程序名称,值得指出的是有些驱动程序是微软公司的产品在安装操作系统时就安装了,而有些数据库产品的驱动程序由开发数据库产品的软件公司随数据库产品一起提供,需在安装数据库时选择安装上,才可以使用。否则在此找不到驱动程序。例如:Sybase数据库驱动程序。
3.SERVER(SRVR):字符串表达式,一些资料介绍为服务器名称,经笔者实践认为确切地应为数据库服务名称,由于象SQL Server、Sybase等数据库在安装时自动把服务器名称缺省设置为数据库服务名称,但如果只在“我的电脑” →“属性” →“网络标识” →“属性”中更改计算机名,而不改变数据库服务名称,使之不相同,在程序中应以数据库服务名称为准。
4.DATABASE(DB):字符串表达式,指定要与其建立连接的数据库名称。需要特别指出的是即使DSN定义已经指定了数据库,也可以在DSN之外指定DATABASE参数以便连接到不同的数据库。这同时更改了DSN定义以包括指定的数据库。使用DSN时始终包括DATABASE参数是一种好办法。这样将保证能连接到正确的数据库,因为其他用户可能会在上一次检查DSN定义后更改默认的数据库参数。
5.DSN(Data Source):字符串表达式,在此为空,无须指定连接的ODBC数据源的名称
6.UID(User ID):字符串表达式,为ODBC数据源指定用户标识(用户帐号名),指定用户必须有足够的权限。
7.PWD(Password):字符串表达式,为ODBC数据源指定用户口令,必须有足够的权限。
四.非DSN连接字符串的组成:
除了ADO所定义的参数外,提供者不支持任何特定连接参数。但是,提供者将把任何非ADO连接参数传递给ODBC驱动程序管理器。
由于可以省略Provider参数,因此使用与撰写ODBC连接字符串时用的相同参数名(DRIVER=、DATABASE=、DSN= 等等)、值和语法,可以撰写与同一数据源的ODBC连接字符串相同的ADO连接字符串。
1.对于SQL Server数据库:
[Provider=MSDASQL;]
DRIVER={Driver Name};
SERVER=server;
DATABASE=database;
UID=user;
PWD=password"
例如:
cnna.ConnectionString = "Provider=MSDASQL;"_
+ "driver={SQL Server};"_
+ "server=servera; "_
+ "database=pubs; "_
+ "uid=sa; "_
+ "pwd=yyuui"
2. 对于Sybase数据库:
[PROVIDER=MSDASQL;]
DRIVER={Driver Name};
SRVR=server; 注:必须是SRVR,而不能是SERVER。
DB=database; 注:可以是DB,也可以DATABASE。
DSN=; 注:该项可以省略。
UID=user;
PWD=passwod
例如:
cnnb.ConnectionString = "Provider=MSDASQL;"_
+ "DRIVER={Sybase System 11};"_
+ "SRVR=serveru; "_
+ "DSN=;"_
+ "DB=dataa; "_
+ "UID=sa; "_