SQL RDLC 的服务器 C# VS2008 数据集在客户端 运行 时显示与网络相关的错误

SQL Server C# VS2008 Dataset for RDLC showing network-related error when ran on client

我创建了一个数据集来包含我的 RDLC 报告中使用的所有数据表。 在我的开发机器上 运行 没有问题,但是当 运行 在客户端机器上报告时,遇到了以下错误。

System.Data.SqlClient.SqlException: 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)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
.
. 
.

请注意,与 SQL 服务器的连接正常。只有在 运行 RDLC 报告时才会产生错误,所以我怀疑它与我的数据集有关。

我尝试为我的 dsReports.xsd 设置以下内容:

Build Action            :   Embedded Resource
Copy to Output Directory:   Copy Always

同样的问题。 检查它指向本地文件夹的完整路径,我无法更改它,因为它是只读的。

Full Path:  D:\dcs\dsReports.xsd

我在这种情况下是否创建了本地数据集? 当我检查其中一个数据表中的 TableAdapter 连接字符串时,它显示:

Connection String:  Data Source=connector\sqlexpress;Initial Catalog=dcsdb;User ID=qa

这里的连接器是我的 SQL 服务器的主机,所以我想服务器连接没问题。 当然这与我的数据集有关。 如有必要,我将 post 完整的错误日志。 希望你们指出我正确的方向。 谢谢。

终于找到问题的根源了。上面所说的一切都是正确的。问题的根源在于 Windows Hosts 文件。我必须从客户端计算机修改此文件以映射 SQL 服务器。

System32 > drivers > etc > hosts

并添加以下行指向我的 SQL 服务器

10.x.x.x   <server-name>           

这完全是网络问题。