我想從我的控制檯C++應用程序連接到SQLServer數據庫。 我已經使用Microsoft SQL Server來創建一個名爲「Test」的數據庫。我也從sqlapi.com「安裝」了sqlapi。 對於初學者,我只是想使用與sqlapi一起發貨的修改示例代碼連接到該數據庫。使用SQLAPI從C++控制檯應用程序連接到SQLServer數據庫
#include <stdio.h> // for printf
#include <SQLAPI.h> // main SQLAPI++ header
int main(int argc, char* argv[])
{
SAConnection con; // create connection object
printf("Howdy!\n");
try
{
con.Connect("Test","COMPNAME\Username","Pwd", SA_SQLServer_Client); // database name// user name //password
printf("We are connected!\n");
// Disconnect is optional
// autodisconnect will ocur in destructor if needed
con.Disconnect();
printf("We are disconnected!\n");
}
catch(SAException &x)
{
// SAConnection::Rollback()
// can also throw an exception
// (if a network error for example),
// we will be ready
try
{
// on error rollback changes
con.Rollback();
}
catch(SAException &)
{
}
// print error message
printf("%s\n", (const char*)x.ErrText());
}
return 0;
}
它編譯好,沒有錯誤,但它無法連接。我比C++中的基礎知識略懂,但我從昨天開始就開始使用SQL。所以我對連接的一些問題:
- 在安裝的SQL Server 2008 Express的我創建了一個叫做用戶名與密碼,密碼一個新的Windows用戶帳戶
- 當試圖連接,是它足以讓數據庫名稱「測試」或者它是Test.db或類似的。對於用戶名,我必須寫Computername \用戶名連接或只是「用戶名」
- 我安裝SQLserver時票「開始自動」框,並在taskamanager我看到一些SQL的東西運行。那是服務器,還是我必須在嘗試連接之前手動啓動它?
- 我是否必須以帳戶創建數據庫的用戶身份登錄,還是知道用戶名和密碼就足夠了?
- 驗證方法爲「Windows身份驗證」
我想你可能會明白的地方麻煩的是,它這些著名的第一個步驟......(好吧,我花了很長一段時間之前,我想通了如何在VS中建立一個項目... ;-)) 如果你有一些答案或提示我在哪裏可以找到它們(一本不錯的書或鏈接),我會非常感激。
嘗試使用「COMPNAME \\用戶名」,而不是「COMPNAME \ Username」 – Erik 2011-03-09 17:47:12
我從來沒有聽說過sqlapi.com,但是如果他們的代碼需要連接Windows用戶名*和*密碼,它肯定是壞的。爲什麼不使用經過測試和證明的用於SQL Server的C++ API,如ODBC,OLEDb或ADO? – 2011-03-09 17:52:45