【问题标题】:Connect a Winforms app to a SQL Server from a computer without SQL Server 2017 installed将 Winforms 应用程序从未安装 SQL Server 2017 的计算机连接到 SQL Server
【发布时间】:2018-08-23 17:54:53
【问题描述】:

首先,我对 Visual Studio 和 SQL Server 都很陌生。我正在尝试从没有安装 SQL Server 的计算机 B 运行应用程序,并将其连接到计算机 A 上托管的 SQL Server 数据库。两台计算机都通过 Wi-Fi 连接到同一网络。

我在 SSMS 中启用了远程连接,并在 services.msc 中启动了 SQL Server 浏览器。 1433 和 1434 端口的例外已添加到 Windows 防火墙输出和规则中。在 SQL Server 配置管理器中,我启用了 TCP\IP,并且属性中的 IPAll 部分将 TCP 端口设置为 1433。

问题是当我尝试将用户添加到 SSMS 上的登录名时,它只会在我的主机上查找登录名(我不知道这是否应该如何工作,但我离题了)。因此,我在 Winforms 应用程序的连接字符串中使用 SQL Server 登录用户名和密码(在 SSMS 中启用)。

但是,当我从计算机 B 运行已发​​布的应用程序时,我收到此错误:

登录失败。登录来自不受信任的域,不能与集成身份验证一起使用

我将如何纠正此问题以使计算机 B 成为受信任域?

就像我说的,我是 SQL Server 和 VS 的新手,所以我在网上找到的很多东西要么太复杂,要么我已经做过。提前致谢。

编辑:我的连接字符串是“Data Source=DESKTOP-24DR8LC\SQLEXPRESS2; Initial Catalog=HouseFinances; User ID = user; Password = password;Integrated Security = False”

【问题讨论】:

    标签: c# sql-server winforms sql-server-2017


    【解决方案1】:

    每当我需要检查连接字符串时,我都会执行以下操作:

    1. 在桌面上创建一个名为 test.txt 的新文本文件。
    2. 我将其重命名为 test.udl。
    3. 双击该文件将打开“数据链接属性”窗口。
    4. 从第一个选项卡开始并选择您的源,转到第二个选项卡并填写您的连接属性。
    5. 单击测试连接按钮。
    6. 如果一切正常,请关闭窗口并使用记事本打开文件。
    7. 在那里你会找到你的连接字符串。

    希望对您有所帮助。

    【讨论】:

    • 我收到了字符串“Provider=SQLOLEDB.1;Persist Security Info=False;User ID=user;Initial Catalog=HouseFinances;Data Source=DESKTOP-24DR8LC\SQLEXPRESS2”。但是当我运行它时,它会说:“System.ArgumentException:'不支持关键字:'provider'。'”。从字符串中删除提供程序部分后,它在计算机 A 上运行,但计算机 B 仍然给出相同的错误。
    • 您是否在计算机 B 上创建了 UDL 文件并从那里运行以测试连接?
    • 我没有添加“Integrated Security = False”出于某种原因?获取连接字符串的技巧非常酷。感谢您的帮助。
    【解决方案2】:

    您的连接字符串指定了集成安全性或 TrustedConnection。您需要删除这些选项并添加 SQL 帐户的用户和密码

    【讨论】:

    • connectionstrings.com 是一个很好的资源。 SQL Server > .Net > Standard Security 特别是。
    • 这是我的连接字符串:“数据源=DESKTOP-24DR8LC\\SQLEXPRESS2;初始目录=HouseFinances;用户ID = 用户;密码=密码;”我需要添加“Integrated Security = False”吗?
    • 完全移除集成安全参数
    • 由于某种原因,它通过添加“集成安全性 = False”来工作。我不知道为什么。感谢您的帮助。
    • 好吧,它会,它只是更干净,因为 false 是默认设置
    猜你喜欢
    • 1970-01-01
    • 2013-08-25
    • 2017-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-17
    • 2020-02-01
    • 1970-01-01
    相关资源
    最近更新 更多