本文主要是介绍VC 利用UDL文件建立ADO连接 常见错误,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
参考链接:http://www.vckbase.com/index.php/wv/82
参考文献:百度百科
1、如何创建UDL文件
新建1个txt文件,修改后缀名为 .udl,保存,无视警告!
双击这个udl文件,弹出udl文件配置对话框,配置方法如下:
配置通用数据链接 (.udl) 文件1.双击通用数据链接 (.udl) 文件。“数据链接属性”对话框打开,显示以下选项卡:“提供者”、“连接”、“高级”和“所有”。选择“下一步”在选项卡中定位。2.在“提供者”选项卡上,选择数据库提供程序。3.在“连接”选项卡上,或者选择可用提供程序的 数据源名称 (DSN),或者输入自定义连接字符串。系统中预定义的提供程序的有效 DSN 显示在“使用 数据源”下拉列表中。4.使用“高级”选项卡查看并设置数据的其他初始化属性。5.使用“所有”选项卡复查并编辑可用于 OLE DB 提供程序的所有 OLE DB 初始化属性。6.选择“确定”以便将连接字符串保存到通用数据链接 (.udl) 文件中。有关更多信息,请参见“数据链接属性”对话框。数据链接文件格式通用数据链接 (.udl) 文件的前两行必须与此内容完全相同:[oledb]; Everything after this line is an OLE DB initstring在这两个必需的行之后,.udl 文件的其余部分由用同样格式写成的连接字符串组成。当从编程代码中打开数据库时使用该字符串。下面的列表给出了一个 .udl 文件的完整文本,此文件使用 Microsoft SQL Server 的 OLE DB 提供程序打开使用集成安全性的 Northwind 数据库。[oledb]; Everything after this line is an OLE DB initstringProvider=SQLOLEDB.1;Persist Security Info=False;Data Source=a-iresmi2000;Initial Catalog=Northwind;Integrated Security=SSPI
1.
_ConnectionPtr m_pDBConn;
2.
3.
m_pDBConn.CreateInstance(__uuidof(Connection));
4.
5.
m_pDBConn->ConnectionString =
"File Name=c:\mydir\my_data1.udl"
;
6.
7.
m_pDBConn->Open(
""
,
""
,
""
,NULL);
或直接使用:
m_pConnection->Open(L”File Name=D:\\vc\\MyConn.udl”,L”",L”",-1); (不要这样用!!!会出错!详见下面的错误解释)
这样一来无论数据源如何变化,在软件中都可以用统一的方法编程。当数据源改变时,只要双击相应的udl文件即可可视化地设置数据源,无需更改软件。
建议完整的代码如下:
// 4、利用ADO Connection 对象 连接数据库
//连接指针
_ConnectionPtr m_pConnection;
if (m_pConnection)
{
if(m_pConnection->GetState() != adStateClosed)
{
m_pConnection->Close(); // 检查机制
}
}
else
{
::MessageBox(NULL,"错误信息: Connection对象为空", "错误 ",MB_ICONEXCLAMATION);
return FALSE;
}
try // 异常机制
{
m_pConnection->ConnectionString = "File Name=.\\JunJunConnection.udl";
m_pConnection->Open("", "", "", NULL);
}
catch(_com_error &e)
{
CString strComError;
strComError.Format( "错误编号: %08lx\n错误信息: %s\n错误源: %s\n错误描述: %s ",
e.Error(), // 错误编号
e.ErrorMessage(), // 错误信息
(LPCSTR) e.Source(), // 错误源
(LPCSTR) e.Description()); // 错误描述
::MessageBox(NULL,strComError, "PressureMonitor错误 ",MB_ICONEXCLAMATION);
return FALSE;
}
return TRUE;
3、为什么我按照上面的方法设置了,在运行软件的时候仍然连接不上呢?
错误1:
错误原因:你的程序没有找到你所指定的udl文件,解决方法:1、确认你的udl路径和实际文件位置;2、不要用m_pConnection->Open(L”File Name=D:\\vc\\MyConn.udl”,L”",L”",-1);
错误2:
解决办法:把绝对路径换成相对路径,具体就是把你的udl文件放到你软件的当前目录下,然后修改路径为
m_pConnection->ConnectionString = "File Name=.\\JunJunConnection.udl";
这篇关于VC 利用UDL文件建立ADO连接 常见错误的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!