gpt4 book ai didi

sql-server - 如果我将程序部署到另一台机器,我的连接字符串不起作用

转载 作者:行者123 更新时间:2023-12-03 13:11:01 25 4
gpt4 key购买 nike

我有一个可以在本地工作的 c# 应用程序,但如果我在另一台机器上发布我的程序,它就无法工作。我收到一条错误消息,提示找不到服务器名称。

An unhandled exception of type 'System.Data.SqlClient.SqlException' occurred in ProductionOrderQuery.exe

Additional information: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)



两台机器都在同一个公司域网络上。这可能与我如何指定我的服务器名称有关?我必须简单地编写服务器名称还是需要完全限定的域名?

连接字符串是
Server=hostname\\SQLEXPRESS;Database=mydb;Trusted_Connection=True;

我正在使用带有 sa 帐户的 SS 身份验证。

我是否需要在 SSMS 上执行任何操作才能使其正常工作?

编辑:所以我已经按照如何通过IP地址连接的指南来查看它是否是DNS搞砸了。我已经配置了命名管道和静态端口并更改了我的连接字符串。防火墙被禁用仍然无法远程连接,本地一切正常。我确实设法让一台机器远程连接,仅此而已,非常令人费解。

新的连接字符串是 Data Source =
<ip>,1433; Network Library = DBMSSOCN;Initial Catalog = footfall; User ID = sa; Password=password;connection timeout=0;
我可以从我尝试连接的机器上 ping 服务器,并且 nslookup 报告正确的主机名。我可以很好地运行从客户端到服务器的跟踪。在服务器上禁用防火墙以进行测试。

编辑 2:当有人登录到不是我的远程机器时,他们无法连接。因此,尽管我专门使用 SA 帐户,但这里似乎仍然存在某种 Windows 身份验证。当我登录时,我可以正常连接。

解决方案:这里有点疯狂,但事实证明我使用数据源向导在设计 View 中填充了一个使用不同连接字符串的组合框。

您不能只从 VS 中删除数据源,这很烦人。我花了一些时间来删除它们。

我不明白为什么如果数据源没有绑定(bind)到表单上的任何东西,应用程序仍然坚持在运行时连接到它们。

一旦我设法删除了数据源,并且不使用 SA 帐户(我在我的数据库上创建了一个具有读写权限的新帐户),该应用程序就可以工作了。

我不明白为什么我不能将 sa 帐户添加到我的数据库中(这样做时会收到错误消息),但是我可以添加一个自定义帐户。

总而言之,最后有两个问题,事实上我使用的是 SA 帐户和链接到组合框的数据源之一中的隐藏连接字符串

谢谢。

最佳答案

请检查应该启动的第二台机器上的“SQL Server(MSSQLSERVER)”服务。

您可以在运行窗口中键入 services.msc 并找到“SQL Server(MSSQLSERVER)”服务名称并确保它已启动。 enter image description here

关于sql-server - 如果我将程序部署到另一台机器,我的连接字符串不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49304617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com