在Visual C++中如何利用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文件,即可视化地完成数据源的设定。

引用来自 : http://blog.pfan.cn/lhlvc/34853.html

转载于:https://www.cnblogs.com/boobuy/archive/2012/12/23/2830430.html

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

  1. 【错误记录】Visual Studio 中配置 NDK 头文件路径 ( NDK 的三个头文件路径 | 与 CPU 架构相关 asm 头文件路径选择 )

    文章目录 一.报错信息 二.解决方案 1.NDK 的三个头文件路径 2.与 CPU 架构相关 asm 头文件路径选择 一.报错信息 参考 [Android 逆向]Android 进程注入工具开发 ( ...

  2. Visual Studio 中使用万能头文件 #include <bits/stdc++.h>

    Visual Studio 中使用万能头文件 #include 前言 最近开始使用VS,之前用的DEV C++软件可直接使用 #include <bits/stdc++.h> ,但VS中并 ...

  3. GPT问答:在Ubuntu系统中,利用QtCreator的QSqlQuery语句,连接到其他目录的mission_history.db数据库,并将其中的名为 mission 表单,以xls格式导出

    问题原文: 麻烦实现一下,在Ubuntu系统中,利用QtCreator的 QSqlQuery语句,连接到其他目录的mission_history.db 数据库,并将其中的名为 mission 表单,以 ...

  4. Masm32多模块程序设计:1、掌握利用LINK将多模块连接起来的方法 2、掌握利用库文件将多模块连接起来的方法。

    程序使用原代码 实验实验源代码请点击这里 1.掌握利用LINK将多模块连接起来的方法 设计代码如下: ;//主程序,主程序,主程序,主程序,主程序,主程序,主程序,主程序,主程序,主程序,主程序,主程 ...

  5. 比较Visual Studio中的两个文件

    本文翻译自:Compare two files in Visual Studio I saw new comparsion tool in VS 2012 for comparing two file ...

  6. Visual Studio 中使用万能头文件 #include bits/stdc++.h

    进行各种练习赛后,看题解代码时经常会看到这么一个陌生的头文件 #include <bits/stdc++.h> ,这个头文件是一个C++万能头文件,里面包含了程序比赛中所有可能用到的头文件 ...

  7. 试试Visual Studio中新的远程文件查看器

    今天,我们很高兴地宣布,在 Visual Studio 17.6 Preview 1 中,一项新的工具窗口诞生:远程文件查看器. 通过这个工具窗口,你可以从远程计算机上浏览,上传和下载文件.另外,可以 ...

  8. 【错误记录】Visual Studio 中配置 NDK 头文件路径

    文章目录 一.报错信息 二.解决方案 一.报错信息 参考 [Android 逆向]Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | 使用 Mak ...

  9. winerror 10053 python_Django ConnectionAbortedError:[WinError 10053]主机计算机中的软件中止了已建立的连接...

    我在postgresql中使用django,每当我试图保存或删除任何内容时,都会出现以下错误-Traceback (most recent call last): File "c:\prog ...

最新文章

  1. 谷歌最强 NLP 模型 BERT 解读
  2. JZOJ 5938. 【NOIP2018模拟10.30】分离计划
  3. mysql错误18456_【问题解决】SQL2008 SQL Server身份认证方式登录失败(错误18456)解决方法图解...
  4. Git branch 用法
  5. 集大成者 —— 荀子
  6. Spring源码之bean的加载(五)准备创建bean
  7. ArrayList常用函数
  8. matlab中fplot和ezplot,Matlab中plot、fplot、ezplot的使用方法和区别
  9. python简明编程_python编程最最简明教程
  10. 值得收藏的网站----安全
  11. BUUCTF:[WUSTCTF2020]girlfriend
  12. Centos 8.5系统优化方案
  13. Various Image/Video Caption(视觉字幕化新任务)
  14. 太一星晨解读:负载均衡设备究竟该如何选择?
  15. oracle误删了表怎么恢复数据,oracle误删除表或者表数据的恢复方法总结
  16. 联合证券|滴滴出行即日起恢复!A股嗨了!券商扛起领涨大旗
  17. 期刊论文发表能加分吗
  18. opencv实战——图像矫正算法深入探讨
  19. 关于微信小程序通讯录人名分组的实现
  20. 《网络安全》零基础教程-适合小白科普

热门文章

  1. 南京理工大学 计算机调剂科目,南京理工大学2019考研调剂信息
  2. 2023.2.9,周四【图神经网络 学习记录23】动态图算法 之 SGNN(DGNN):更新组件(update component),传播组件(propagation component)
  3. URP自定义屏幕后处理
  4. 腾讯视频QVL格式转MP4格式
  5. 2020知道走进故宫答案-----【快捷查询】
  6. python 使用 httpx 发送http2.0 请求
  7. 蒙特卡洛 股票 matlab,风险管理matlab蒙特卡洛模拟股票价格
  8. 机器人开发相关参考文档
  9. 克鲁斯卡尔算法生成最小生成树
  10. 关于Spring注解容器配置的那些事,掌握这几点,不再难!