在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网站去下载。