在Visual C++中如何利用UDL文件来建立ADO连接

原创 2007年09月12日 23:45:00
使用通用数据连接文件(*.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网站去下载。

 

使用.udl快速测试与数据库的连接并得到连接字符串(OLEDB、ADO)

现在在开发OLEDB和ADO程序,学到了一招,共享大家, 新建一个txt文件,把后缀改成udl,双击会弹出一个界面,输入相应信息最后确定, 再以文本方式打开本文件,即可得到正确的连接串 ...
  • wangcg123
  • wangcg123
  • 2015年03月03日 15:02
  • 1064

巧用“UDL”文件获取SQL server数据库的连接字符串

巧用“UDL”文件获取SQL server数据库的连接字符串
  • yangyisen0713
  • yangyisen0713
  • 2016年06月06日 11:15
  • 2399

[DCT]LabVIEW中客户端连接到服务器SQL Server数据库_UDL方式

问题描述:一个机器作为服务器用SQL Server建了需要使用的数据库,多个人需要在各自的电脑上访问该数据库实现整个工程的数据交互。现打算用LabVIEW的Database Connectivity ...
  • suxiang198
  • suxiang198
  • 2015年07月11日 00:15
  • 1047

使用UDL测试数据库连接、生成连接字符串

1.什么是UDL udl(Universal Data Link)是通用数据连接文件,使用通用数据链接 (UDL) 文件来保存连接字符串。 使用 UDL 文件存储数据库连接的方式和使用“ODBC ...
  • CGS_______
  • CGS_______
  • 2017年06月27日 14:05
  • 571

C++使用ADO连接MySql数据库

1.数据库技术发展 ODBC->DAO->RDO->ADOOLE DB   2.ADO中包含了七个对象成员          Connection用于管理数据库的连接          Co...
  • u011337769
  • u011337769
  • 2017年04月12日 19:00
  • 544

C++ ADO方式连接mysql数据库

对于软件开发其实说白了就是在不停地和数据打交道, 所以数据库的操作是必不可少的, 接下来介绍VC开发中利用ADO建立ODBC数据源来访问MySQL数据库.        从我接触的数据库编程方式来说,...
  • lbcab
  • lbcab
  • 2016年05月06日 10:02
  • 4115

ADO学习(二).udl文件

Open方法中,第一个参数就是连接串,这个连接串如何获得?VC++6.0中有工具,不过太过麻烦,而且获得的串还得复制,不方便,下面介绍一种方便实用获得连接串的方法。 获得连接串         ...
  • liujiayu2
  • liujiayu2
  • 2015年04月22日 15:05
  • 373

c++调用ado连接mssql数据库

# include //# include "stdafx.h" # include # import "c:\program files\common files\system\ado\msad...
  • fuck487
  • fuck487
  • 2014年12月10日 15:40
  • 622

Windows下C++访问数据库(ADO)

C++利用ADO访问数据库还是比较方便的,我参考网上其它资料把ADO到一个类中,这样调用起来会更加的方便 这个类单线程访问数据库没有问题,提供了查询、增加、删除和修改的接口。 并行访问的话会有...
  • luke2834
  • luke2834
  • 2015年08月19日 12:07
  • 1845

Delphi中用ADO控件连接数据库例子

概述: 一、说明 最近在写个“数据库管理系统框架程序”,其中封装了几个连接数据库的函数,觉得挺好用,拿出来与大家分享下,希望能对大家有点用处。 我以连接oracle和access为例,其余数据...
  • wozengcong
  • wozengcong
  • 2013年09月11日 16:55
  • 1933
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在Visual C++中如何利用UDL文件来建立ADO连接
举报原因:
原因补充:

(最多只允许输入30个字)