CString sConnectData = "Provider=SQLOLEDB;Server=LOW;Database=C:\Program  Files\Microsoft SQL Server\MSSQL\Data\down2_Data.MDF; uid=sa; pwd=lhm;"HRESULT hr = m_pConnection.CreateInstance(__uuidof(Connection));
if(SUCCEEDED(hr))
{
     m_pConnection->Open(sConnectData,"","",NULL);//到本句出错!
}我的困惑:
  1)连接字符串中的库名:其中的down2_Data.MDF是把ACCESS2000中的down2.mdb库用DTS导入后就形成了两个文件一个是这个down2_Data.MDF,另外一个是down2_log文件,都默认放在MSSQL\DATA\目录下。待打开的库文件是由用户通过浏览文件夹来选择的,然后形成现在的这个连接字符串。
我觉得从ACCESS导入后原来的库名字应该不变才对,但是只有这个这个MDF文件可选。
  2)连接字符串中的服务器名:是在SQL安装时创建的,默认在C盘下,那么我要不要写这个服务器的路径呢?

解决方案 »

  1.   

    Standard Security:"Provider=sqloledb;Data Source=Aron1;Initial Catalog=pubs;User Id=sa;Password=asdasd;"  Trusted Connection:"Provider=sqloledb;Data Source=Aron1;Initial Catalog=pubs;Integrated Security=SSPI;" 
    (use serverName\instanceName as Data Source to use an specifik SQLServer instance, only SQLServer2000)
     Prompt for username and password:oConn.Provider = "sqloledb"
    oConn.Properties("Prompt") = adPromptAlways
    oConn.Open "Data Source=Aron1;Initial Catalog=pubs;"  Connect via an IP address:"Provider=sqloledb;Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=pubs;User ID=sa;Password=asdasd;" 
    (DBMSSOCN=TCP/IP instead of Named Pipes, at the end of the Data Source is the port to use (1433 is the default))
      

  2.   

    CString sConnectData = "Provider=SQLOLEDB;Server=LOW;Database=C:\Program  Files\Microsoft SQL Server\MSSQL\Data\down2_Data.MDF; uid=sa; pwd=lhm;"
    /////////////////////////////////////////////////////////////////////////
    SQL Server2000!直接连接到文件!佩服!
      

  3.   

    m_pConnection->Open("File Name=Mis.udl","","",NULL);
    这是我最常用的方法.
    先建一个UDL文件.放在程序目录.
    这样的话.程序发布时.修改一下udl文件就行了.