2011-01-27 329 views
4

我猜你會得到數以百計的這些問題,但在這裏有雲:SQL Server連接字符串

所以我試圖讓霍尼韋爾海豚6100移動設備(CE5.0,.NET Compact Framework的)到與我正在開發的計算機上安裝的SQL Server Express 2008數據庫交談。

我是一個完整的新手到SQL Server和移動開發,並且現在仍然在C#中的小綠(是的,我知道,一躍在這裏深結,嗯?d)

到目前爲止,我有:

string sConnection = @"Data Source=JEZ-LAPTOP;DataBase=EMS_Main;Integrated Security=SSPI;"; 
SqlConnection sqc = new SqlConnection(sConnection); 
sqc.Open(); 

該應用程序非常高興地部署到6100,但最後一行錯誤與一個模糊的「SQL異常」錯誤。

我曾嘗試更改數據源以包含實例名稱,斜線和點之前等等等等(即使服務器只是使用默認實例),無濟於事。

我可以連接到Management Studio中的數據庫,沒有任何問題。

那麼,連接字符串是否有問題,或者是我在SQL Server中沒有正確完成的事情?

在此先感謝。

這個網站真棒btw,一些非常knowledgable傢伙在這裏。

+1

你確定sql server的實例有默認名字嗎? – ykatchou 2011-01-27 17:40:31

+0

也,你確定你可以使用一個可信的連接到這個遠程數據庫?可能必須設置用戶/密碼 – BrokenGlass 2011-01-27 17:41:59

回答

3

CE 5.0不支持集成安全性。我相信支持它的第一個版本是mobile 6.1。無論如何,您不能在您的配置中使用SSPI。您必須創建一個SQL Server用戶並將其用作連接憑證。

除了使用UID/PWD進行連接之外,嘗試的另一件事是通過IP來引用服務器。您的設備上的DNS解析可能無法正常進行。嗯,這是一個完整的問題。您的設備與SQL Server在同一網絡上嗎?

而且以供將來參考,提交這個方便的網址記憶:http://connectionstrings.com

編輯

讓我們看到這樣的......如果命名SQL Server實例:

@"Data Source=192.168.0.56\SERVER_NAME;DataBase=EMS_Main;User Id=joe;Password=pwd;"; 

如果不是名爲SQL Server實例:

@"Data Source=192.168.0.56;DataBase=EMS_Main;User Id=joe;Password=pwd;";