Windows mobile 连接打开时出现NullReferenceException

Windows mobile 连接打开时出现NullReferenceException,windows-mobile,nullreferenceexception,sqlconnection,Windows Mobile,Nullreferenceexception,Sqlconnection,在Windows Mobile 6.5中打开连接时出现NullReferenceException。 我的代码如下: SqlConnection conn = new SqlConnection("Data Source=.\\SQLEXPRESS;Initial Catalog=Company;Integrated Security=SSPI"); conn.Open(); 我在C#windows窗体应用程序及其工作环境中尝试过这段代码,但在windows mobile中没有移动设备上是否有

在Windows Mobile 6.5中打开连接时出现NullReferenceException。 我的代码如下:

SqlConnection conn = new SqlConnection("Data Source=.\\SQLEXPRESS;Initial Catalog=Company;Integrated Security=SSPI");
conn.Open();
我在C#windows窗体应用程序及其工作环境中尝试过这段代码,但在windows mobile中没有

移动设备上是否有运行SQLEXPRESS的实例?我想不会,但是,即使您这样做,我也不相信您可以在连接字符串中使用名称,它仅限于TCP/IP地址和端口

您可能需要更改连接字符串,以便它尝试为SQL server使用正确的位置

例如,如果您的服务器在端口
9999
10.5.5.5
机器上运行,您将更改:

Data Source=.\\SQLEXPRESS;...
致:


您必须下载/安装SQL Server CE(SQL Server Mobile、SQL Server Compact,名称每年都会更改)。然后添加对compact framework SQL库的引用

您可以使用SQLCE连接到设备上的本地数据库(http://www.connectionstrings.com/sql-server-2005-ce)或使用System.Data.SQLClient连接到远程SQL Server:

Compact Framework SQLClient不支持完整框架中提供的所有连接选项,另请参见:


~josef

我认为您的windows mobile中不会有SQL server。数据源显示您指向的是本地SQL server。SqlConnection找不到本地SQL server,因此无法创建连接。因此conn总是空的。我在使用IP时必须包含\SQLEXPRESS吗?@jeraldov,不,根据粗略的web搜索,我认为实际上不允许您包含。使用该名称似乎会导致异常。
Data Source=10.5.5.5,9999;...