【问题标题】:Connect Windows Mobile 6.5.3 application to SQL Sever 2012将 Windows Mobile 6.5.3 应用程序连接到 SQL Server 2012
【发布时间】:2015-10-20 07:21:27
【问题描述】:

我们有基于 Windows Mobile 6.5.3 的解决方案,并使用 System.Data.SqlClient 连接到我们的数据库。一切正常,直到...

将 SQL Server 从 2005 Workgroup Edition 升级到 2012 标准后,我们​​遇到了连接问题。

真实设备可以连接到 SQL 服务器 - 应用程序可以工作,但我们无法在模拟器上调试项目。这很奇怪,为什么真实设备可以在该连接字符串上工作。当我们使用真实设备进行调试时,我们可以在模拟器上连接到数据库,但我们不能

W 花了 2 天时间搜索没有结果的解决方案。

我的 SQL 连接看起来像

Server=xx.xx.xx.xx\InstanceName,1433;Database=dbName;User Id=userName;Password=password;Connect Timeout=30

当我们调用 SqlConnection.Open() 时发生异常。

        using (var sqlConnection = new SqlConnection(DatabaseConstans.ConnectionString))
        {
            sqlConnection.Open();

我们做到了:

  • 将默认 SQL 端口号更改为 1433
  • cradle 模拟器 - 互联网浏览器测试 - 通过
  • SQL 浏览器正在运行
  • 我们可以通过该连接字符串从 WinForm 应用程序进行连接

其他设置:

【问题讨论】:

  • “我们可以通过该连接字符串从 WinForm 应用程序连接”是什么意思,移动应用程序不是 winfom 应用程序吗?使用 vxUtil 或其他移动工具 ping 服务器检查与 sqlserver 的 IP 连接。如果失败,无论出于何种原因,您的连接都将无法正常工作。是否有与 sql server 在同一个网络中的 webserver?如果是这样,请尝试使用 Internet Explorer Mobile 打开该 Web 服务器。
  • 嗨@josef,这意味着,如果我们复制了连接字符串,WinForm 应用程序就可以工作。有 IIS,我可以连接到 IIS 欢迎页面。

标签: sql-server .net-3.5 windows-mobile-6.5 sqlclient smart-device


【解决方案1】:

从连接字符串中删除您的 SQL 实例名称(例如 SQLEXPRESS)。

在 TCP/IP 协议下的 SQL 配置管理器中,清除所有 TCP 动态端口(留空)。在“IPALL”下设置 TCP 端口为 1433

所以你的连接字符串应该是这样的: 数据源=192.168.1.53,1433;初始目录=dbname;用户ID=xxx;密码=xxxxx;"

经过整整 2 天的尝试,这对我有用。

【讨论】:

  • 感谢您的回复,但目前我无法重现此功能。
【解决方案2】:

您需要安装SQL Server Management Studio 2008 R2(提供免费版本)才能打开SQL CE (.SDF) 文件。在对象资源管理器中的连接上,除了数据库引擎之外,它还将提供SQL Server Compact... 的选项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多