try
{
//Create our connection strings
string sSqlConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=" + Path.GetDirectoryName(Path.GetDirectoryName(Application.StartupPath)) + "\\ClaimFiles.mdf;Integrated Security=True;User Instance=True";
MessageBox.Show(sSqlConnectionString);
//Execute a query to erase any previous data from our destination table
string sClearSQL = "DELETE FROM PA";
SqlConnection SqlConn = new SqlConnection(sSqlConnectionString);
SqlCommand SqlCmd = new SqlCommand(sClearSQL, SqlConn);
SqlConn.Open();
MessageBox.Show(SqlCmd.ExecuteNonQuery().ToString());
SqlConn.Close();
}
catch (SqlException ex)
{
//handle exception
StringBuilder errorMessages = new StringBuilder();
for (int i = 0; i < ex.Errors.Count; i++)
{
errorMessages.Append("Index #: " + i + "\n" +
"Message: " + ex.Errors[i].Message + "\n" +
"ErrorNumber: " + ex.Errors[i].Number + "\n" +
"Source: " + ex.Errors[i].Source + "\n" +
"Severity Level: " + ex.Errors[i].Class + "\n" +
"Server:" + ex.Errors[i].Server + "\n");
MessageBox.Show(errorMessages.ToString());
}
}
上面是我的 C# 代码,我使用的是 Microsoft SQL Express。单击即可激活上面的代码。当我在 Visual Studio 中运行代码时,一切正常。但是当我将项目的文件夹复制到另一台计算机(操作系统:Windows XP)并运行 .exe 文件时,程序捕获 SqlException:
建立与服务器的连接时发生错误。当连接到SQL Server 2005时,出现此故障的原因可能是SQL Server在默认设置下不允许远程连接。 (提供商:SQL 网络接口,错误 26 - 定位指定的服务器/实例时出错)
有人可以帮我解决这个问题,这对解决这个问题会有很大帮助,因为该程序必须在不同的计算机上运行。顺便说一句,程序的目标框架是.NET 3.5
- 确保您的服务器名称正确,例如名称没有拼写错误。
- 确保您的实例名称正确并且目标计算机上确实存在这样的实例。 [更新:一些应用程序
将 \ 转换为 .如果您对自己的申请不确定,
请尝试在您的服务器\实例和服务器\实例
连接字符串]
- 确保服务器计算机可访问,例如,DNS 可以正确解析,您能够 ping 服务器(并非总是如此)。
- 确保 SQL Browser 服务正在服务器上运行。如果服务器上启用了防火墙,则需要放置 sqlbrowser.exe 和/或 UDP
端口 1434 进入异常。
这似乎是一个很好的参考:http://blogs.msdn.com/b/sql_protocols/archive/2007/05/13/sql-network-interfaces-error-26-error- located-server-instance-specified.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)