2010-12-21 79 views
1

我在本地连接Northwind.mdf但是当我上传应用程序远程服务器上,然后我得到以下错误:IIS:连接到数据库.MDF - 网络配置问题

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)

这些都是我试过几个选项:

<connectionStrings> 
     <add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Northwind.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient"/> 
    </connectionStrings> 

上面的一个在当地工作。

<connectionStrings> 
      <add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=D:\ASP\TestSite\App_Data\Northwind.mdf; Integrated Security=True;Connect Timeout=30;User Instance=True;Trusted_Connection=Yes"/> 
     </connectionStrings> 

在服务器上安装SQL Server 2005

感谢,
伊利亚·

+0

你的连接〜应变g表示** Express **版本,但您只提到“SQL Server 2005” - 它是什么?它是SQL Server 2005 ** Express **在您的远程主机上,还是完整版本的SQL Server 2005? – 2010-12-21 15:54:49

回答

1

请执行以下步骤: 1:使用Sql server Management Studio将Northwind.mdf附加到您的服务器上的Sql Server 2005。 2:修改web.config中的connectionstring,使其指向服务器上的db。

How to detach/attach db.

+0

嗨,我也有同样的问题。我已经在app_data文件夹中添加了visual studio中的mdf文件。我的连接字符串是_Data Source =。\ SQLEXPRESS; AttachDbFilename = | DataDirectory | \ Database.mdf;集成安全性= True;用户实例= True_。我通过filezilla上传我的项目。那么是否有其他方法来解决问题 – 2013-09-01 04:01:27

1

几件事情要检查:

  1. 是数据库文件确实在那个位置?
  2. 应用程序池是否具有对该目录的读/写权限?
  3. SQL Express服务是否实际运行?
1

这里有几点需要检查:

  • 如果要部署到一个共享的托管环境中的机会,主机将无法在网络服务器上运行SQL Server。请他们确认并提供给您。

  • 您使用的连接字符串看起来很可疑。如果SQL Server已经安装在服务器上,但作为“默认”实例,则不需要连接字符串Data Source\SQLEXPRESS部分。只需使用.(local)即可。

  • 如果确实安装了SQL Express并且它已安装实例名称SQLEXPRESS,请检查站点标识是否具有有效的登录名和数据库的正确权限。此标识可以是工作进程帐户(NETWORK SERVICE,ApplicationPoolIdentity,自定义帐户)或站点的IIS匿名帐户(如果启用了ASP.NET模拟)。

我的最后一点是非常重要的:

  • AttachDbFilenameUser Instance=True专用于支持被称为 “User Instances” 概念的SQL Express。此功能是而不是适合专用或共享主机环境。

我的建议是

  • 搞清楚版本和版本的SQL Server可供您使用
  • 找出其托管(本地服务器上,或另一台机器)
  • 看看它的配置为“默认”实例或命名实例