您现在的位置是: 软件 > 开发者网络 > 程序方舟 > 开发专栏 > C/C++开发 > 正文
·速成电脑精英(包分配)白领高薪一族从这里开始



-Java套接字编程(下)
-MediaStudio Pro 6.5教程
-三款卸载软件最新试用
-基于Visual C++的Winsock API研究

在Visual C++中如何利用UDL文件来建立ADO连接
2002-03-22· ·王卫列 秦旻··VCKBASE

  使用通用数据连接文件(*.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网站去下载。
■ 相关内容
 VC++ SMTP协议电子邮件传送剖析
 Windows 9X硬件中断设备驱动程序的开发
 用ADO.NET处理层次数据
 在 ADO.NET 数据集中浏览多个相关表
 基于Visual C++ 的自动化客户端的实现
 用托管C++开发Win表单的一般方法
 Visual C++实现视频图像处理技术
 ADO程序员使用的ADO .NET
 在存储过程中调用外部的动态连接库
 细说ADO.NET命令
 在Visual C++中用ADO进行数据库编程
 Visual C++多线程DAO处理
 Visual C++ 系统及硬件编程
 用Visual C++开发数据库应用程序
 Visual C++ 网络与通讯
 Visual C++界面编程
 Visual C++中实现对图像数据的读取显示
 用Visual C++增强Notes打印功能
感谢 访问天极网,如果您觉得该文章涉及版权问题,请看这里!