操作系统windows2000, iis vc6 oracle 版本是9.2.0.1.0

解决方案 »

  1.   

    #define ORA_STR "Provider=OraOLEDB.Oracle;Data Source=myoacle;User ID=system;Password=test;Persist Security Info=FALSE"
    #define ORA_USER  "system"
    #define ORA_PASS  "test"
    STDMETHODIMP Cconora::Auth_Login(BSTR str_pass, BSTR pwd, int *errnum)
    {
    AFX_MANAGE_STATE(AfxGetStaticModuleState())
    _ConnectionPtr conn;
    conn.CreateInstance(__uuidof(Connection));
    try
    {
    _bstr_t temp(ORA_STR);
    conn->Open(
    _bstr_t(temp),
    _bstr_t(ORA_USER),_bstr_t(ORA_PASS), 
    -1); 
    }
    catch(_com_error err)
    {
    *errnum=2;
    CString str;
    str.Format("错误信息是%s",err.ErrorMessage());
    CLogEvent errlog(str);
    errlog.Log();
    str.Format("错误描述是%s",(char *)err.Description());
    errlog.m_strlog=str;
    errlog.Log();
    conn.Release();
    return S_OK;
    }
    return S_OK;
    }
    从net8 配置工具中都测试成功,关键是相同的代码在MFC中能够正常运行,而在这里就异常了

    错误信息是UNKNOWN ERROR 0X800A0E7A
    错误描述是未找到提供程序。该程序可能未正确安装。
    可是我都安装了无数次了,我把ORACLE能够安装的组件都安装了,包括数据库、CLIENT、甚至管理服务器都安装了,MDAC升级到2。8版本,ORACLE的补丁也打上了, 我真是一点办法都没有了,重装系统,只安装WIN2000SERVER,ORACLE、IIS、MADC、ORACLE PATCH、WINSP4竟然也报这个错误,难道从ASP里面就没有办法调吗,可是在别的机器上我都测试通过了,会不会是服务器硬件不兼容呢?