在Visual C++中如何利用UDL文件来建立ADO连接
来源:互联网 发布:excel数据有效性按钮 编辑:程序博客网 时间:2024/05/18 03:58
在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网站去下载。
楼主应该做事严谨点,这样错误百出的代码也好意思拿出来。正确的应该是:void ADOConn::OnInitADOConn()
{
// initialization COM;
::CoInitialize(NULL);
HRESULT hr=m_pConnection.CreateInstance(__uuidof(Connection));
if(SUCCEEDED(hr))
try
{
}
catch(_com_error e)//
{
e.Description();
e.ErrorMessage();
e.Source();
}
//打开数据库
m_pConnection.CreateInstance(__uuidof(Connection));
m_pConnection->ConnectionString =”File Name=d:\\vc\\MyConn.udl”;
try
{
m_pConnection->Open(L”",L”",L”",-1);
//或者去掉上面那句,直接用m_pConnection->Open(L”File Name=D:\\vc\\MyConn.udl”,L”",L”",-1);
}
catch(_com_error e)//排除异常
{
CString errormessage;
errormessage.Format(”Open Dababase Faile!\r\nFaile Information:%s”, e.ErrorMessage());
AfxMessageBox(errormessage);//显示出错信息!
}
//AfxMessageBox(”opened Database! “);
} ( edwardsim 发表于 2008-8-14 11:08:00)
- 在Visual C++中如何利用UDL文件来建立ADO连接
- 在Visual C++中如何利用UDL文件来建立ADO连接
- 在Visual C++中如何利用UDL文件来建立ADO连接
- 在Visual C++中如何利用UDL文件来建立ADO连接
- 在Visual C++中如何利用UDL文件来建立ADO连接
- 在Visual C++中如何利用UDL文件来建立ADO连接
- 在Visual C++中如何利用UDL文件来建立ADO连接
- 在Visual C++中如何利用UDL文件来建立ADO连接
- 在Visual C++中如何利用UDL文件来建立ADO连接
- 在VC中利用UDL文件建ADO连接
- VC 利用UDL文件建立ADO连接 常见错误
- VC使用UDL文件建立ADO连接
- 在Delphi中如何创建和使用udl文件
- 避免ADO连接字符串错误,请用udl文件
- 如何在 Visual Basic 或 VBA 中使用 ADO 来处理 Excel 数据
- 如何在 Visual Basic 或 VBA 中使用 ADO 来处理 Excel 数据
- C/C++如何在Visual Studio里建立并运行多个含main函数的文件
- 创建Accress 数据库连接文件UDL/如何使用 ADO 的数据链接文件
- 7z 压缩解压工具使用--命令行
- 远征Online装备系统分析
- csdn技术交流群(群主只是一个刚从事开发行业的菜鸟)
- Session超时Filter控制页面调转
- js--page--分页--
- 在Visual C++中如何利用UDL文件来建立ADO连接
- JAVA程序转化为JAR,JAR转换为EXE
- 养生之道
- ASP.NET显示农历时间
- DXT纹理压缩
- MapGuide Error: Session has expired or is invalid, Please log in again
- java 整数与字符的转化
- 如何用SQL语句完成SQL Server数据库的修复
- 建临时表查数据