换上用ADO连sql2000后就提示错误,请大侠看看什么回事!!!
我的一个管理系统软件原先是用ADO连Access2000,工程运行一切正常,我后来在CCcApp---InitInstance()中把连接换上用ADO连sql2000,运行后可当你输入记事本中登录的用户名和密码时,就提示错误:“连数据库错误信息:Idspatch error #3092”,然而其他一切都是正常的(比如你点界面上“添加”按钮,输入资料后,在企业管理器的power.mdb中都可找到资料),我电脑其他几个管理系统软件换上用ADO连sql2000都出现同样问题,请问我应该怎样处理才能除去错误提示:“连数据库错误信息:Idspatch error #3092”,请大侠一定帮忙看看,谢谢!!!
工程如下
 http://www.jzfybjy.com/%B3%F6%B2%EE%B9%DC%C0%ED%C8%ED%BC%FE%D4%B4%B4%FA%C2%EB.rar

解决方案 »

  1.   

    sql server的数据库文件不是mdb吧?sql server是连接服务器,怎么会连接一个文件呢???
      

  2.   

    sorry,laiyiling(最熟悉的陌生人),我的解压包用了中文,因此解压不了, 工程如下
      http://www.jzfybjy.com/111.rar tonybaobao(Tony宝宝) 你好,sql server的数据库文件是power,我写错了,还请大侠帮忙看看!!!!谢谢!!!
      

  3.   

    很可能你的SQL SERVER装的时候采用的是windows验证模式,所以你必须用验证模式登录。
      

  4.   

    我的连SQL SERVER的代码如下,改为windows验证模式的代码应该怎样改啊?????谢谢!!!m_pConnection->Open("driver={SQL Server};Server=127.0.0.1;DATABASE=power;UID=sa;PWD=001129","","",adModeUnknown);
      

  5.   

    你这样写连接串就可以了。
    strConnectString = _T("Provider=sqloledb;Data Source=127.0.0.1;"
            "Initial Catalog=power;"
            "User Id=sa;Password=001129;");
      

  6.   

    也许这样写好一点:
    BOOL ADOConnected(LPCTSTR lpstrConnection, LPCTSTR lpstrUserID, LPCTSTR lpstrPassword)
    {
    //..........................
    try
    {
    if(m_nConnectionTimeout != 0)
    m_pConnection->PutConnectionTimeout(m_nConnectionTimeout);
    hr = m_pConnection->Open(_bstr_t(lpstrConnection), _bstr_t(lpstrUserID), _bstr_t(lpstrPassword), NULL);
    return hr == S_OK;
    }
    catch(_com_error &e)
    {
    //..................
    return FALSE;
    }
    }
    ///////////////////////////////////////////////////
    CString m_strConnection=T("Provider=sqloledb;Data Source=127.0.0.1;Initial Catalog=power;User Id=sa;Password=001129;");
    if(theApp.ADOConnected(m_strConnection)
    {
    }
      

  7.   

    不行啊,换上这连接串,编译都通不过,原先只是提示:“连数据库错误信息:Idspatch error #3092”,编译能通过,请大侠一定帮忙看看,谢谢!!!
      

  8.   

    Error 3092
    There is no account for this computer in the security database. 
      

  9.   

    那我该怎样做才能除去错误提示:“连数据库错误信息:Idspatch error #3092”呢?????谢谢!!!
      

  10.   

    真可笑!你居然用ODBC Driver for Sql Server!这样性能好吗?
    你为什么不用OLE DB Provider! OLE DB Provider for Sql Server呢?
      

  11.   

    Error 3092
    There is no account for this computer in the security database. 这句英文是什么意思啊????
      

  12.   

    你喜欢通过odbc就这样写吧:
    m_strConnection = _T("Driver={SQL Server};Server=[你的服务器名];"
         "Database=power;Uid=;Pwd=;");
      

  13.   

    我记得在ASP中连Sql2000用windows验证模式是不要"User Id=sa;Password=001129;的,就如下,可你给我的windows验证模式有User Id=sa;Password=001129,不知道你给我的是不是有错啊????我要的是windows验证模式的代码啊!!!
    connstr="Provider=SQLOLEDB;database=snsites;Data Source=BILLGATES\HWMHWMHWM;Trusted_Connection=SSPI;"
      

  14.   

    呵呵!Microsoft Windows NT integrated security:
    m_strConnection = _T("Provider=sqloledb;Data Source=你的服务器名;"
            "Initial Catalog=你的数据库名;"
            "Integrated Security=SSPI;");
      

  15.   

    tiegerium(/*熊猫*/)你好,你错怪我了,你看看我的工程就知道了,我连Sql Server2000用的代码如下: m_pConnection->Open("Provider=SQLOLEDB.1; Data Source=127.0.0.1; Initial Catalog=power; User ID=sa; PWD=001129","","",adModeUnknown); 工程如下
     http://www.jzfybjy.com/111.rar这问题我想搞清啊!因为我电脑其他几个管理系统软件换上用ADO连sql2000都出现同样问题,请问我应该怎样处理才能除去错误提示:“连数据库错误信息:Idspatch error #3092”,而用ADO连access2000一切正常,请你一定帮忙看看,谢谢!!!
      

  16.   

    ::CoInitialize(NULL); 
    HRESULT hr;
    try{
    hr = ADOConn.CreateInstance("ADODB.Connection");
    if (SUCCEEDED(hr))
    {
    ADOConn->CursorLocation=adUseClient;
    hr = ADOConn->Open(_bstr_t(你的SQL),"","",adModeUnknown);
    m_bConnected = TRUE;
    }
    }
    catch (...) {
    AfxMessageBox("Open Connection fail!\n");

    }
      

  17.   

    //我改你的代码如下,在我的机子能正常运行:
    BOOL CCcApp::InitInstance()
    {
    AfxOleInit();//初始化COM库
    AfxEnableControlContainer(); //以下是连接access2000数据库
    HRESULT hr;
    try
    {
    hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
    if(SUCCEEDED(hr))
    {
    m_pConnection->ConnectionTimeout=3;///设置超时时间为3秒

    ///连接数据库
    ///上面一句中连接字串中的Provider是针对ACCESS2000环境的,对于ACCESS97,需要改为:Provider=Microsoft.Jet.OLEDB.3.51;  }

     CString m_strConnection=_T("Provider=sqloledb;Data Source=192.168.0.100;Initial Catalog=pubs;User Id=sa;Password=123456;");
         m_pConnection->Open(_bstr_t(m_strConnection),"","",adModeUnknown);


    }
    }
    catch(_com_error e)///捕捉异常
    {
    CString temp;
    temp.Format("连接数据库错误信息:%s",e.ErrorMessage());
    ::MessageBox(NULL,temp,"提示信息",NULL);
    return false;
    }
      

  18.   

    换上你的windows验证模式代码后运行出错,我该怎样处理呀????m_pConnection->Open("Provider=sqloledb;Data Source=BILLGATES\HWMHWMHWM;"
            "Initial Catalog=power;"
            "Integrated Security=SSPI;");错误如下
    --Configuration: cc - Win32 Debug--------------------
    Compiling...
    cc.cpp
    C:\Documents and Settings\007\My Documents\新建文件夹\出差管理软件源代码\ccjlsoftsrc\cc.cpp(60) : warning C4129: 'H' : unrecognized character escape sequence
    C:\Documents and Settings\007\My Documents\新建文件夹\出差管理软件源代码\ccjlsoftsrc\cc.cpp(62) : error C2660: 'Open' : function does not take 1 parameters
    Error executing cl.exe.出差记录.exe - 1 error(s), 1 warning(s)
      

  19.   

    //我改你的代码如下,在我的机子能正常运行:
    BOOL CCcApp::InitInstance()
    {
    AfxOleInit();//初始化COM库
    AfxEnableControlContainer(); //以下是连接access2000数据库
    HRESULT hr;
    try
    {
    hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
    if(SUCCEEDED(hr))
    {
    m_pConnection->ConnectionTimeout=3;///设置超时时间为3秒

    ///连接数据库
    ///上面一句中连接字串中的Provider是针对ACCESS2000环境的,对于ACCESS97,需要改为:Provider=Microsoft.Jet.OLEDB.3.51;  }

     CString m_strConnection=_T("Provider=sqloledb;Data Source=192.168.0.100;Initial Catalog=pubs;User Id=sa;Password=123456;");
         m_pConnection->Open(_bstr_t(m_strConnection),"","",adModeUnknown);


    }
    }
    catch(_com_error e)///捕捉异常
    {
    CString temp;
    temp.Format("连接数据库错误信息:%s",e.ErrorMessage());
    ::MessageBox(NULL,temp,"提示信息",NULL);
    return false;
    }
      

  20.   

    晕,我的程序本来就能正常运行啊!!!我只是很讨厌总是出现错误提示:“连数据库错误信息:Idspatch error #3092",换了你给的代码,还是出现这东西!我的目的是要它消失,不知道这提示在你电脑中有没有啊???问题虽没解决,不管怎样,还是要谢谢你!!!
      

  21.   

    有一个大哥帮忙看了代码,提出了解决方法,可我看不懂啊!请你看看!网址http://vccode.com/showthread.php?s=&threadid=10080
      

  22.   

    我先是用ADO连Access2000,工程运行一切正常,后来我改用ADO连sql2000,就提示:Idspatch error #3092"我是这样来设置sql2000的,而不是把脚本导入查询分析器,请你看看不知道有没有错误???这可能是提示:Idspatch error #3092"的原因吧!谢谢!!!先在企业管理器中新建数据库power----点企业管理器中菜单"工具"----数据转换服务---导入数据-----然后把原Access2000数据库power中的表导入企业管理器中新建的数据库power.
      

  23.   

    是登录代码的问题,我只是把里面的SQL改成pubs里的数据表就正常了,这些都是你自己解决的,别人帮不了你.
    BOOL CLogon::OnInitDialog()

         //-------------------
    }
      

  24.   

    我改了登录代码还是不行!!请问我安装SQL2000时用了混合模式(包含windows模式),这会不会是错误提示:“连数据库错误信息:Idspatch error #3092"的原因啊??????