2013-07-30 84 views
1

有人可以幫助嗎? 我想通過使用SqlDriverConnect連接到c + +中的sql server 2008。 這裏是我的代碼:C++中的sqldriverconnect無法連接到本地數據庫sql 2008

SQLTCHAR *srv = (SQLTCHAR *) "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=bbData;Data Source=NBK-EMMAY"; 
SQLRETURN rc = SQLDriverConnect(hdbc, NULL, srv, strlen((char*)srv), 
           (SQLWCHAR*)OutConnStr, 255, &OutConnStrLen, SQL_DRIVER_PROMPT); 

注意,創建SRV串並通過.udl文件驗證。 我嘗試了各種選擇,但似乎我可以去任何地方。提前謝謝了!

+0

問:什麼是錯誤訊息? – paulsm4

+0

返回碼爲-1,即SQL_ERROR。 – eyu

+0

有幾種獲取錯誤的方法,包括SQLGetDiagRec:http://msdn.microsoft.com/en-us/library/windows/desktop/ms715433%28v=vs.85%29.aspx。但是shf301是正確的:SqlDriverConnect()是一個ODBC接口,並且您使用的是非ODBC連接字符串。有關詳細信息,請參閱我剛剛引用的鏈接。 – paulsm4

回答

5

您使用OleDb連接字符串,而不是ODBC連接字符串。 SqlDriverConnect在ODBC函數中,它不會與OleDb提供程序一起使用。

嘗試使用下面的連接字符串:

Driver={SQL Server Native Client 10.0};Server=JBK-EMMAY;Database=bbData;Trusted_Connection=yes; 
+0

非常感謝你,它的工作原理! – eyu

+0

@eyu然後你可以接受答案。 – CodeAngry

相關問題