本站首页    管理页面    写新日志    退出


«September 2025»
123456
78910111213
14151617181920
21222324252627
282930


公告
暂无公告...

我的分类(专题)

日志更新

最新评论

留言板

链接


Blog信息
blog名称:小白兔的家
日志总数:12
评论数量:86
留言数量:0
访问次数:158118
建立时间:2006年3月25日




[C/C++][转载]C++ ADO开发实践之三
软件技术

小鱼儿 发表于 2006/3/30 21:35:51

在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文件,即可视化地完成数据源的设定。 使用UDL文件必须在系统中先安装Microsoft MDAC,Win 98第二版,Win 2000中都自动包含了该组件,需要该组件最新版本时可以到Microsoft网站去下载。


阅读全文(6952) | 回复(-1) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.195 second(s), page refreshed 144774848 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号