Не удается подключиться к удаленному MS SQL Server Express 2008 R2 из OLE DB - PullRequest
2 голосов
/ 07 ноября 2010

Я не могу подключиться к удаленному серверу MS SQL Express 2008 R2. На сервере внешнее соединение включено, брандмауэр выключен. Когда мой друг пытался подключиться с помощью Python, все в порядке. Я использую Visual C ++ и OLE DB под VS 2010.

Я получаю ошибку:

[Microsoft] [ODBC Driver Manager] Не найдено имя источника данных и не указан драйвер по умолчанию

Спасибо

Ответы [ 2 ]

0 голосов
/ 07 ноября 2010

Вы можете попробовать использовать соединение adodb, например:

#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","rsEOF")

_ConnectionPtr m_conn;
_RecordsetPtr m_rs;
::CoInitialize(NULL);
try
{
  m_conn.CreateInstance("ADODB.Connection");
  CString conn="Driver={SQL Server};server=(127.0.0.1);uid=sa;database=pubs";
  if(FAILED(m_conn->Open((_bstr_t)conn,"","",-1)))
   {
      ::MessageBox(NULL,"connect database error","error",MB_ICONEXCLAMATION);
       return;
   }
 }

 m_rs.CreateInstance("ADODB.Recordset");
 CString strSql = "select * from Table";
 m_rs=m_conn->Execute((_bstr_t)strSql,NULL,adCmdText);

Я надеюсь, что это поможет вам

0 голосов
/ 07 ноября 2010

решение состоит в том, чтобы использовать метод Open класса CDataSource вместо OpenFromInitializationString ..

...