编写了一个程序,运行时出现"数据库连接失败!"对话框,为何?请各位帮忙!!
做法:在BOOL CPtpressCh73App::InitInstance()里添加如下代码
AfxOleInit();在CPtpressCh73Dlg里添加成员变量 _ConnectionPtr  m_pConnection,访问权限为public
在CPtpressCh73Dlg的构造函数里添加数据库连接,代码如下:m_pConnection.CreateInstance(_uuidof(Connection));
try
{
//连接数据库
m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Source=D:\\Program Files\\DB\\FTI.mdb",
"","",adModeUnknown);
}
catch (_com_error e)
{
AfxMessageBox("数据库连接失败!");
}数据库FTI是Accsess2003,放在D:\Program Files\DB下。在运行该程序时,总是弹出"数据库连接失败!"这个对话框。这个问题该怎么解决,望各位帮忙!!

解决方案 »

  1.   

    //估计是连接字符串的问题。
    //新建一个.udl文件,双击打开,配置,测试连接成功后,用记事本打开.udl文件,看看连接数据串是什么。
      

  2.   

    大哥,我是个菜鸟,不会udl,更别谈配置了......
      

  3.   

    try 

    //连接数据库 
    m_pConnection->Open("Provider='Microsoft.Jet.OLEDB.4.0';Data Source='D:\\Program Files\\DB\\FTI.mdb';", 
    "","",adConnectUnspecified) 

    catch (_com_error e) 

    AfxMessageBox("数据库连接失败!"); 
      

  4.   

    在catch中调用_com_error 的Description(),看看提示的错误是什么
      

  5.   


    提示的错误是 “找不到可安装的ISAM”
      

  6.   

    FTI.mdb是不是有密码,在连接是加上用户和密码试一下。
      

  7.   

    FTI.mdb没有密码,数据库驱动也有。这个程序弄得我是焦头烂额啊!!
      

  8.   

    m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\Program Files\\DB\\FTI.mdb", 
    "","",adModeUnknown);