所以我在连接到我的SQL服务器时遇到问题。
我知道100%的工作和接受连接,但由于某种原因我一直收到错误。
我可以在服务器浏览器中浏览服务器,如果我将数据源绑定到数据网格,我也可以预览表格。所以我知道它在VS中运行良好,但不是运行时。
根据我的知识和经验,如果VS可以连接到服务器并显示所有好东西,那么它应该能够在运行时进行吗?
非常感谢任何帮助和建议。
非重复原因 我认为我的问题不重复的原因是因为我的应用程序不是ASP或MVC应用程序。这是一个winforms应用程序。所以很多建议都不适合我。 我现在已经编写了2个c#程序(一个wpf和一个winform)来访问我们的SAP数据库,它们工作得很好。 SAP数据库与我尝试连接的服务器位于同一服务器上。 我可以在我的机器上的SQL-Server Management Studio中完美地浏览服务器。我也可以在Visual Studios服务器浏览器中完美地浏览服务器。但是当我调试程序时,它会因此错误而停止。
我的连接代码
public string connectionString = @"Data Source=ENGSRV\SIGMANEST;Initial Catalog=SNDBase10;Persist Security Info=True;User ID=XXXXX;Password=XXXXX";
private void btnSearch_Click(object sender, EventArgs e)
{
SqlConnection connection = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand();
try
{
try
{
connection.Open();
MessageBox.Show("Connected");
}
catch (Exception ex)
{
throw;
//MessageBox.Show(ex.Message, "Database Error!");
}
}
catch (Exception ex)
{
throw;
//MessageBox.Show(ex.Message, "Connection Error!");
}
}
错误代码
类型'System.Data.SqlClient.SqlException'的未处理异常 发生在ProductionOrderQuery.exe
中其他信息:与网络相关或特定于实例的错误 在建立与SQL Server的连接时发生。服务器是 没找到或无法访问。验证实例名称是否为 正确并且SQL Server配置为允许远程连接。 (提供程序:SQL网络接口,错误:26 - 错误定位 指定的服务器/实例)
更新 因此,在今晚考虑之后,我认为它与我的防火墙有关,与服务器上的sql server或防火墙无关。 这就是原因, 我可以成功连接到sql server的VB.Net应用程序不是一个独立的应用程序。它是一个名为Rhinocreos 5的CAD软件的插件。我们所有的CAD设计师都有0个问题从Rhino内部的sql server中提取数据... Visual Studio可以在服务器资源管理器中连接0个问题... 现在让我相信应用程序(插件),是安装过程中Rhinocreos 5制作的防火墙规则的背负。如果我将连接字符串更改为我在此处发布的字符串,则它会完美连接。但它不会在我的独立应用程序中找到sql server实例。
话虽这么说,我想我需要研究如何将我的程序添加到客户端防火墙规则以访问网络。
感谢所有帮助我解决这个问题的人。如果有人有任何提示或指示允许我的程序通过防火墙安装在任何客户端上,请告诉我。
答案 0 :(得分:0)
问题出在我们的网络中。
我们的IT人员决定拥有我们所有的计算机和#34;我的文档"在一个单独的服务器上,而不是在我们自己的机器上。
因此,Visual Studio默认将我的项目保存到此服务器而不是我自己的计算机。这导致阻止SQL Server。
我只需将项目移动到计算机上的实际文档文件夹即可解决此问题。
感谢大家的帮助和指点!