【问题标题】:Connecting to SQL 2005 from a windows mobile device从 Windows 移动设备连接到 SQL 2005
【发布时间】:2009-10-27 22:37:54
【问题描述】:

我正在尝试编写一个在 Windows Mobile 6 设备上运行的简单应用程序,它可以连接到 SQL 2005 服务器并读取和写入数据库。如果它只在停靠时连接到 SQL Server 就可以了。

我从未使用过移动设备,所以我的想法可能不正确。我像使用常规桌面应用程序一样创建了一个 DataSet 和一个 TableAdapter,但是当我在模拟器中运行该应用程序时,当我尝试打开 TableAdapter 上的连接时,我得到了一个 SqlException。

我有什么明显的遗漏吗?我是否需要明确告诉模拟器像停靠一样?是否需要配置才能看到它在网络中?我可以从应用程序中 ping 有问题的 SQL 服务器,所以应该有一些连接

【问题讨论】:

  • “ping Sql Server”是什么意思?您最基本的连接测试应该是能够从您的模拟器浏览到任何网站。从那里开始。附言windows mobile 的模拟器网络连接确实很松散。我有更好的坞站调试通过 USB 对接的真实设备。

标签: sql-server windows-mobile


【解决方案1】:

这里有一个很好的链接,用于设置您的模拟器以连接到网络:

http://www.xdevsoftware.com/blog/post/Enable-Network-Connection-Windows-Mobile-6-Emulator.aspx

psasik 在将仿真器网络连接描述为“松鼠”时是出于礼貌。我从来没有让它们成功地工作,但这是因为我手边总是有一个实际的物理设备,我总是在遇到模拟器问题的第一个提示时返回。

【讨论】:

  • 绝对!模拟器适用于 UI 布局的初始原型设计,仅此而已。任何与连接性或时间有关的事情都会被彻底淹没。
  • @ctacke:到目前为止,我发现模拟器的唯一实际用途是在我找不到智能手机的连接器电缆时回答 CF 问题并生成屏幕截图。
【解决方案2】:

感谢您的链接!这很有帮助,我可以确认我可以连接到网络。不幸的是,它仍然无法连接到 SQL 服务器。我将代码提炼为:

`

        string connStr;
        System.Data.SqlClient.SqlConnection myConn;

        try
        {
            connStr = @"Server='<server name/IP>';Database=<database name>; User Id=sa; Password=<password>";
            myConn = new System.Data.SqlClient.SqlConnection(connStr);
            myConn.Open();
        }
        catch (System.Data.SqlClient.SqlException se)
        {
            MessageBox.Show(se.ToString());
        }

`

此代码在 myConn.Open() 处引发 SQLException,errorClass 为 20,编号为 17。消息是“SQL Server 不存在或访问被拒绝”。完全相同的代码(复制/粘贴)在 winforms 应用程序中完美运行。我做的一切正确吗?代码是否可能是正确的,但模拟器导致了我的问题?是否值得向老板要一个移动设备试一试?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-04
    • 1970-01-01
    相关资源
    最近更新 更多