![无法使用 IIS 管理器访问本地数据库](https://linux22.com/image/592110/%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%20IIS%20%E7%AE%A1%E7%90%86%E5%99%A8%E8%AE%BF%E9%97%AE%E6%9C%AC%E5%9C%B0%E6%95%B0%E6%8D%AE%E5%BA%93.png)
我使用 Visual Studio 2010 创建了一个本地 .mdf 数据库,并对其进行了一些修改。现在我想在 IIS 管理器中编辑它。但是,我无法通过连接字符串或直接指定来访问它。
首先。我从 Visual Studio 2010 属性窗口复制了一个 DB 连接字符串,它就像Data Source=.\SQLEXPRESS;AttachDbFilename=o:\...\MyDB.mdf;Integrated Security=True;User Instance=True
。我转到 IIS 管理器 -> 连接字符串 -> 添加 -> 自定义并粘贴它。然后转到 IIS 管理器 -> 数据库管理器 -> MyDB,它打开了,但没有可见的内容,而我添加了几个表。
第二,我在数据库管理器中使用了“添加连接”,并指定了如下属性:
- 数据库提供程序 == SQL Server 2008
- 服务器 == 本地主机
- 数据库 == o:...\MyDB.mdf
- 用户 ID == my_local_user_name
但是当我访问新创建的连接时,出现以下错误:
执行此操作时出错。详细信息:
建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。找不到或无法访问服务器。请验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供程序:命名管道提供程序,错误:40 - 无法打开与 SQL Server 的连接)
如果我将服务器字段设置为 SQLEXPRESS,情况也是如此。有什么想法吗?
- Windows 7 x64 旗舰版
- Microsoft SQL 服务器 2008 x64
- Visual Studio 2010 专业版 SP1
- IIS 管理器 x64
答案1
不要使用连接字符串的 AttachDbFileName 语法。只需将数据库附加到 SQL Server 实例并正常登录该实例即可。一旦您将应用程序提供给托管提供商,他们就不会允许您使用此语法,因为 SQL Server 可能位于另一台服务器上。
您能连接到本地 SQL Server 实例吗?
答案2
打开 SQL Server 配置管理器,确保“网络配置”>“协议”中的“命名管道”已启用。您可能还想编辑 TCP/IP 属性,将其从使用动态 TCP/IP 端口更改为使用静态端口。