2012-10-10 49 views
0

我在Windows Mobile 6.5中打開連接時遇到NullReferenceException異常。 我的代碼是這樣的:連接打開時的NullReferenceExeption

SqlConnection conn = new SqlConnection("Data Source=.\\SQLEXPRESS;Initial Catalog=Company;Integrated Security=SSPI"); 
conn.Open(); 

我已經在C#中的窗戶嘗試這種代碼形式的應用和它的工作,但在Windows Mobile的它不是

+0

我不認爲你會在你的Windows Mobile的SQL服務器。您的數據源顯示您正在指向本地SQL服務器。 SqlConnection無法找到本地SQL Server,因此無法創建連接。因此conn總是空。 –

回答

1

在移動運行SQLEXPRESS的實例設備?我懷疑不是,但即使你這樣做,我也不相信你可以在連接字符串中使用名稱,它僅限於TCP/IP地址和端口。

您可能需要更改連接字符串,以便嘗試爲SQL Server使用正確的位置。

舉例來說,如果你的服務器是在10.5.5.5機器在端口9999運行,你會改變:

Data Source=.\\SQLEXPRESS;... 

到:

Data Source=10.5.5.5,9999;... 
+0

使用IP時必須包含\ SQLEXPRESS嗎? –

+0

@jeraldov,不,我不認爲你真的被允許,基於粗略的網絡搜索。使用該名稱似乎會導致異常。 – paxdiablo

0

你必須下載/安裝SQL Server CE(SQL Server Mobile,SQL Server Compact,名稱每年都會更改)。然後添加對緊湊框架SQL庫的引用。

您可以使用SQLCE(http://www.connectionstrings.com/sql-server-2005-ce)連接到設備上的本地數據庫,也可以使用System.Data.SQLClient連接到遠程SQL Server:http://msdn.microsoft.com/en-us/library/aa275613%28v=sql.80%29.aspx

Compact Framework的SQLCLIENT不支持可作爲全framwework所有的連接選項,還看到:http://msdn.microsoft.com/en-us/library/x984482z%28v=vs.80%29.aspx

〜約瑟夫