0

我有一个使用 linq-to-sql 和 Sql Server Express 2008 的应用程序。当我在单独的 DAL 项目中使用 DBML 文件并将其引用到我的 Web 项目时,执行 Sql Server 显示此错误:

建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:SQL 网络接口,错误:26 - 错误定位服务器/指定的实例)

但是当我在我的 web 项目中使用 DBML 时,调试没有任何问题。但在 Windows 7 64 位的 IIS 上,我得到:

建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:命名管道提供者,错误:40 - 无法打开与 SQL Server 的连接)

这两个错误的原因是否相同?连接字符串不正确吗?

4

2 回答 2

1

我怀疑在第一种情况下,您在 DAL 项目中而不是在您的 Web 项目(它所属的位置)中有连接字符串。确保将其复制到web.config您的 Web 项目中。

在第二种情况下,我认为托管 IIS 的机器尝试连接到您自己机器上的数据库。如果是这样,请检查异常:确保您的 SQL Express 实例配置为允许远程连接,启用 IP 协议(​​如果用于本地流量,则为命名管道),并且您的机器可以访问 IIS 机器。

于 2012-09-15T14:56:28.513 回答
0

我认为,您的连接字符串是错误的。

不用担心。

检查您的 dbml 的 Designer.cs 文件。您将在其中找到'<YourDBMLFile>DataContext()' 构造函数。

并更改您的连接字符串。确保你connectionstring是正确的。

于 2012-09-15T10:22:22.593 回答