如何利用UDL文件来建立ADO连接

使用通用数据连接文件(*.UDL,以下简称文件)来创建ADO连接,可以和ODBC一样可视化地定义要连接的数据源,从而实现数据访问的透明性。

1.使用UDL文件来创建ADO连接

创建ADO的连接,首先要设置ADO连接对象的ConnectionString属性,该属性提供所要连接的数据库类型、数据所处服务器、要访问的数据库和数据库访问的安全认证信息。比较专业的方法是在ConnectionString中直接提供以上信息,下面是访问不同类型数据源设置ConnectionString的标准:

访问ODBC数据

"Provider=MSDASQL;DSN=dsnName;UID=userName;PWD=userPassword;"

访问ORACLE数据库

"Provider=MSDAORA;Data Source=serverName;User ID=userName; Password=userPassword;"

访问MS SQL数据库

"Provider=SQLOLEDB;Data Source=serverName;Initial Catalog=databaseName; User ID=userName;Password=userPassword;"

访问ACCESS 数据库

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=databaseName;User ID=userName;Password=userPassword;"

上述的连接属性设置标准随着数据源的类型不同而变化,软件用户常常不习惯这种设置方式,都希望有可视化的数据源设置方法。为此Microsoft提供了通用数据连接文件(.UDL)来建立和测试ADO连接属性。ADO连接对象可以很方便地使用UDL文件来连接数据源,下面例子使用my_data1.udl来创建ADO连接。

_ConnectionPtr m_pDBConn;

m_pDBConn.CreateInstance(__uuidof(Connection));

m_pDBConn->ConnectionString ="File Name=c:\mydir\my_data1.udl";

m_pDBConn->Open("","","",NULL);

这样一来无论数据源如何变化,在软件中都可以用统一的方法编程。当数据源改变时,只要双击相应的udl文件即可可视化地设置数据源,无需更改软件。

因为ADO是COM接口,为了软件的可靠性,打开ADO连接时,可以加入异常处理代码。

try{
m_pDBConn->Open("","","",NULL);
}catch(_com_error &e){
//处理异常的代码
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
m_pDBConn=NULL;
}

因为_ConnectionPtr m_pDBConn是智能指针,应在处理异常代码时将智能指针设为NULL后将自动将引用计数降为0。

如果不出现异常,只要在使用完m_pDBConn,只要引用Close方法即可。

2.创建你所需的UDL文件

在你所想创建UDL文件的目录中单击右键,选择从菜单 新建|Microsoft 数据连接,然后将新创建的UDL文件更改为你所希望的文件名(.UDL扩展名不能改变)。

注:如果操作系统是Window 2000,先创建一个文本文件,再将该文本文件的扩展名改为 "udl"。

然后双击所创建的UDL文件,即可视化地完成数据源的设定。

使用UDL文件必须在系统中先安装Microsoft MDAC,Win 98第二版,Win 2000中都自动包含了该组件,需要该组件最新版本时可以到Microsoft网站去下载。

时间: 2024-08-01 08:58:22

如何利用UDL文件来建立ADO连接的相关文章

在Visual C++中利用UDL文件建ADO连接

使用通用数据连接文件(*.UDL,以下简称文件)来创建ADO连接,可以和ODBC一样可视化地定义要连接的数据源,从而实现数据访问的透明性. 1.使用UDL文件来创建ADO连接 创建ADO的连接,首先要设置ADO连接对象的ConnectionString属性,该属性提供所要连接的数据库类型.数据所处服务器.要访问的数据库和数据库访问的安全认证信息.比较专业的方法是在ConnectionString中直接提供以上信息,下面是访问不同类型数据源设置ConnectionString的标准:    访问O

如何调用[建立ADO连接字符串对话框]

我们做数据库应用程序时,经常需要动态建立数据库连接,您知道怎么做吗? 下面的代码会给你提供一些帮助,效果如图 HRESULT hr;IDataSourceLocatorPtr dlPrompt=NULL;_RecordsetPtr rs=NULL;try{ // 初始化DataLinks对象 hr=dlPrompt.CreateInstance(__uuidof(DataLinks)); if(FAILED(hr)) throw(_com_error(hr,NULL)); // 建立连接 pCo

新手来看:什么叫“使用Data Link 文件”?什么是UDL文件?如何创建?

创建 新手来看:什么叫"使用Data Link 文件"?什么是UDL文件?如何创建?  专题地址:http://access911.net/index.asp?board=4&recordid=71FAB21E1ADCEAF3 简述:什么叫"使用Data Link 文件"?什么是UDL文件?如何创建?dcndb(connection变量).connectionsrting="file name=c:\windows ample.udl"这

[IOS]自己如何正确获取SQLite的ADO连接字符串

首先你正确安装了SQLite的数据库驱动程序(sqliteodbc.exe) 1.在桌面上新建一个空的文本文件SQLite.txt,重命名为SQLite.udl: 注1.1:SQLite.udl也可以通过别的方式得到,但必须是0字节的文件. 注1.2:系统文件没有扩展名,XP资源管理器中,菜单"工具"-->"文件夹选项"-->"查看"-->"隐藏已知文件类型的扩展名",前面的勾去掉就行了. 2.双击这个SQL

Linux中使用ln命令在文件之间建立连接的用法讲解

  在Unix世界里有两个'link'(连接)概念,一般称之为硬连接和软连接.一个硬连 接仅仅是一个文件名.(一个文件可以有好几个文件名,只有将最后一个文件名从 磁盘上删除,才能把这个文件删掉.文件名的个数是由ls(1)来确定的.所有的文件 名都处于同一个状态,也就没有什么lq源名字rq 之说.通常文件系统里的一个 文件的所有名字包含着一样的数据信息,不过这样也不是必需的.)一个软连接 (或符号连接)是完全不同的:它是一个包含了路径信息的小小的指定文件.因此, 软连接可以指向不同文件系统里的文件

利用J2ME与ASP建立数据库连接

J2ME是利用HttpConnection建立HTTP连接,然后获取数据,ASP也是利用HTTP协议,因而可以利用J2ME与ASP建立连接,从而访问数据库.ASP是MicroSoft公司的服务器端动态页面技术,可以根据请求运行服务器端程序然后返回结果,这也给MIDP提供很多有用的功能.由于MIDP客户端处理能力不强,因此可以把一些处理任务放在服务器端,利用ASP完成一些它不能完成的任务,如操作数据库.这里给出一个简单的例子,说明MIDP如何与ASP进行交互,完成数据库操作. (1)确保IIS W

Delphi中利用INI文件实现界面无闪烁多语言切换

越来越多的程序使用了多国语言切换,虽然DELPHI自带多语言包的添加和配置,但是那种方法在切换语言时界面会出现闪烁,而且实现起来很麻烦,这里我介绍给大家的是利用INI文件来读取界面的语种文字,用这种方法,不但简单易行,而且在切换的时候不会出现界面的闪烁. 我们从一个例子出发,看看怎么实现语言的切换.首先建立一个新工程.放置如下组件: MainMenu1: TMainMenu; File1: TMenuItem; Exit1: TMenuItem; Label1: TLabel; Button1:

防止ADO连接SQL Server时的隐式连接

ado|server 防止ADO连接SQL Server时的隐式连接Report Date:   2002/9 Prepared by:     郑            昀 Article last modified on 2002-9 The information in this article applies to: ü         Microsoft SQL Server 2000,7.0 ü         Microsoft ADO 2.5问题陈述:数据库服务器:Microso

MYSQL教程:建立加密连接

加密连接可提高数据的安全性,但会降低性能.要进行加密连接,必须满足以下要求: user权限表里要有相关的SSL数据列.如果安装的MySQL服务器是4.0.0版的,user权限表已包含相关的SSL数据列,否则,我们也可用mysql_fix_privilege_tables脚本升级权限表. 服务器和客户程序都已经编译有OpenSSL支持.首先要安装openssl,在编译时MySQL服务器时加--with-vio和--with-openssl选项加上openssl支持.可用以下语句查询服务器是否支持S