[問題] C++透過ADO連線到SQL Server的問題

作者: kev72806 (Taipei 101)   2017-07-17 17:23:50
開發平台(Platform): (Ex: Win10, Linux, ...)
Windows 10 64位元
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
VS 2013 VC++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
ado\msado15.dll
問題(Question):
建好_ConnectionPtr之後,使用open方法連線到本地端架設的SQL Server會跳出例外,我測試的程式碼如下:nitialize(NULL);
餵入的資料(Input):
主要的參數在Open那邊,DB帳號跟密碼還有IP跟Port Number都如指令所述:
Open("Provider = SQLDB; Data Source = 127.0.0.1, 1433;", "MyDB", "qazxswedc", adConnectUnspecified);
預期的正確結果(Expected Output):
預期應該會執行到最下面的 cout。
錯誤結果(Wrong Output):
執行並輸出 connect exception。
程式碼(Code):(請善用置底文網頁, 記得排版)
::CoInitialize(NULL);
_ConnectionPtr pConn = NULL;
if (S_OK != pConn.CreateInstance("ADODB.Connection"))
{
cout << "create instance failed..." << endl;
}
try
{
HRESULT hr = pConn->Open("Provider = SQLDB; Data Source = 127.0.0.1,
1
if (FAILED(hr))
{
cout << "connect failed!" << endl;
}
}
catch (_com_error e)
{
cout << "connect exception..." << endl;
}
cout << "connect succ!" << endl;
補充說明(Supplement):
之前有聽學長說 c++ 連 SQL 不太好使用,可是目前被專案卡死,只能使用C++撰寫,也只查詢到ADO可以做到這件事情,若是有正確的使用方法或是其他連到SQL的
方法也不吝請教,謝謝 !!
作者: Hazukashiine (私は幸せです)   2017-07-17 18:52:00
要是 C++ 連 SQL 不好用 要不要考慮用 C 連資料庫XD
作者: Schottky (順風相送)   2017-07-17 21:54:00
推樓上
作者: uranusjr (←這人是超級笨蛋)   2017-07-17 23:08:00
他學長的意思應該是 C++ 連「SQL Server」不好用吧 XD

Links booklink

Contact Us: admin [ a t ] ucptt.com