听一位资历比我老的同事说:采用ADO进行数据库连接时,操作系统必须安装在 C 盘,否则会连接不上。我不是很相信,经过试验,把Win2000安装在 D 盘,结果是:ADO连接字符串用ODBC数据源间接都可以成功连接,但直接连接时有时候连不上。以下是我的连接串:
(1)strProvider.Format("Provider=SQLOLEDB.1;Data Source=%s;Initial Catalog=%s;UID=%s;PWD=%s",strServer,strLibName,strUID,strUPD);m_pConnection->Open(_bstr_t(strProvider),_bstr_t(strID),_bstr_t(strPD),adConnectUnspecified);////指定strID与strUPD或设为空都一样(2)strProvider.Format("Provider=MSDASQL.1;Persist Security Info=False;Data Source=%s",strDSN);m_pConnection->Open(_bstr_t(strProvider),_bstr_t(strID),_bstr_t(strPD),adConnectUnspecified););////指定strID与strUPD或设为空都一样不知大家是否有过这样的经历。请大家指点迷津。

解决方案 »

  1.   

    没听说过,我用ado,2K在e:,很好呀
    接分
      

  2.   

    需要一個外部文件,一般位於C:\program files\common files\,如果操作系統裝在D:,那就需要手動修改一下.我記的是在stdafx.h中,
    #import "c:\program files\common files\system\ado\msado15.dll" \
    no_namespace \
    rename ("EOF", "adoEOF")
    找不到當然就錯了!
      

  3.   

    我的win2k也装在d盘,c盘是98.没有这种情况哈。
    还有哈,最好把#import "c:\program files\common files\system\ado\msado15.dll"给换成#import "c:\program files\common files\system\ado\msado15.tlb"
      

  4.   

    msado15.DLL
    一般COPY到你的工程目录下好点,因为常常你的工程会在其它不同的机上编译!
      

  5.   

    呵呵,同意,我这两天看到这个import也觉得全路经的话,是默认系统所在分区的
      

  6.   

    告诉各位:肯定不是#import问题,否则连编译都不会通过。
    可能 Phourm()和ZHENG017() 的做法会解决问题,但到底什么原因?
      

  7.   

    是不是ADO  版本有问题。 检查一下是不是不同的版本。