SQL Server连接字符串

4
我猜您收到了很多这样的问题,但是请听我说:
所以我正在尝试让Honeywell Dolphin 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中做错了什么?
提前致谢。
顺便说一句,这个网站非常棒,这里有一些非常有知识的人。

1
你确定 SQL Server 实例的名称是默认的吗? - ykatchou
还有,你确定可以使用可信连接到这个远程数据库吗?可能需要设置用户名/密码。 - BrokenGlass
我该如何检查这些事情呢?我尝试设置用户名和密码,并在连接字符串中指定它们,但没有成功。 - Jez Clark
1个回答

3
CE 5.0不支持集成安全性,我认为第一个支持它的版本是移动6.1。无论如何,您不能在配置中使用SSPI。您必须创建一个SQL Server用户并将其用作连接凭据。
除了使用UID/PWD进行连接之外,还可以尝试通过IP引用服务器。可能您的设备上未正确进行DNS解析。这是另一个问题。您的设备是否与SQL Server在同一网络上?
以后需要参考,请记住这个有用的URL: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;";  

目前它通过USB连接,但是开发机和设备也都连接到同一个无线路由器。刚刚尝试使用UID和PW,仍然出现相同的sqlexception错误。 - Jez Clark
什么是错误信息?并确保您可以从设备ping通服务器。USB桥可能会出现问题。您尝试在连接字符串中使用IP地址了吗? - Paul Sasik
刚刚尝试从设备进行ping测试,但没有成功。看来这是一个网络问题,而不是我的糟糕编程问题! - Jez Clark
好的,现在我可以ping通了(之前被McAfee阻止了),但仍然无法连接到SQLS。 - Jez Clark
同时:确保你的SQL Server已配置为接受网络连接!非常重要。ping机器只是第一步。 - Paul Sasik
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接