【问题标题】:Connect to SQL Server named instance from Windows CE从 Windows CE 连接到 SQL Server 命名实例
【发布时间】:2011-02-03 18:42:25
【问题描述】:

我从我的桌面应用程序中窃取了一个有效的连接字符串,

Data Source=Timber\Test2;User ID=****;Password=****;
Initial Catalog=UTIL;Application Name=Handheld Shipping;Connect Timeout=1 

它只是连接到 SQL Server 上的命名实例以进行测试。当我在我的 Windows CE 应用程序中使用相同的连接字符串时,我得到一个SqlException,找不到指定的 SQL 服务器:Timber\Test2。

这是 .NET Compact 中 SQL 客户端的限制吗?或者对于 Compact 客户端,连接字符串是否需要采用不同的格式?

我使用的设备是 CE6​​.0,我的程序是 .NET Compact 3.5。

编辑: 我正在连接到 Server 2008 上的 SQL Server 2008。连接到默认实例有效,但不是命名实例。

【问题讨论】:

    标签: sql sql-server windows-ce connection-string


    【解决方案1】:

    不,CE 连接没有限制。事实上,CE 连接和桌面之间唯一不同的是,CE 设备可以做一些桌面不能做的事情。使用 Integrated Security 传递用户名和密码。

    Data Source=myServerAddress;Initial Catalog=myDataBase;
      Integrated Security=SSPI;User ID=myDomain\myUsername;Password=myPassword;
    

    Trusted Connection from a CE device

    问题可能是由于网络问题,CE 设备看不到 Timber\Test2。尝试从您的 CE 设备 ping Timber

    【讨论】:

    • 嗯,我可以从设备上 ping 它。而且我刚刚做了一个测试,我可以从设备连接到默认实例。
    • @Kratz。没有考虑命名实例。也许它的命名管道。试试 NET VIEW Timber 看看是否能解析名称?
    • 有趣的结果,在输入 NEW VIEW 后,它提示我输入我的网络密码。如果我在那之后立即运行测试,它就可以很好地连接到命名实例。我想如果它通过命名管道连接,这是有道理的。
    • 所以我认为解决方案是在连接字符串中传递用户名和密码,因为它没有在网络上进行身份验证。奇怪的是,您可以在不连接网络的情况下连接到默认值,但需要它用于命名实例。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-22
    • 1970-01-01
    • 1970-01-01
    • 2015-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多