我用取最后错误得到了如何信息 
Description:没有注册类别 State(null),Native:-2147221164,source:provider我现在用的是winxp我尝试重新安装了几乎所有版本的MDAC_TYP,也不行,但是我到了我的机器上的win98下,就没事儿,郁闷!!!!!请大家多多UP

解决方案 »

  1.   

    未必是连接的问题,可能用了什么activex控件,例如flash\realplay之类的
      

  2.   

    我用的vc写的,代码在下面BOOL CAdoConnection::ConnectAccess(CString dbpath, CString pass, long lOptions)
    {
    CString strConnect = _T("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=") + dbpath;
    if (pass != _T("")) 
    {
    strConnect += _T(";Jet OLEDB:Database Password=") + pass + _T(";");
    }
    return Open(LPCTSTR(strConnect), lOptions);
    }
    BOOL CAdoConnection::Open(LPCTSTR lpszConnect, long lOptions)
    {
    ASSERT(m_pConnection != NULL);
    ASSERT(AfxIsValidString(lpszConnect));

    if (strcmp(lpszConnect, _T("")) != 0)
    {
    m_strConnect = lpszConnect;
    } if (m_strConnect.IsEmpty())
    {
    ASSERT(FALSE);
    return FALSE;
    } if (IsOpen()) Close(); try
    {
    // 连接数据库 ---------------------------------------------
    return (m_pConnection->Open(_bstr_t(LPCTSTR(m_strConnect)), "", "", lOptions) == S_OK);
    }
    catch (_com_error e)
    {
    TRACE(_T("Warning: 连接数据库发生异常. 错误信息: %s; 文件: %s; 行: %d\n"), e.ErrorMessage(), __FILE__, __LINE__);
    TRACE(_T("%s\r\n"), GetLastErrorText());
    return FALSE;

    catch (...)
    {
    TRACE(_T("Warning: 连接数据库时发生未知错误:"));
    }
    return FALSE;
    }