本地我连接到Northwind.mdf但是当我将应用程序上传到远程服务器时,我收到以下错误:
与网络相关或特定于实例的 建立一个错误时发生错误 连接到SQL Server。服务器 没找到或无法访问。 验证实例名称是否为 正确和SQL Server是 配置为允许远程 连接。 (提供者:SQL网络 接口,错误:26 - 错误定位 指定的服务器/实例)
这些是我尝试过的几个选项:
<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 :(得分:1)
要检查几件事:
答案 1 :(得分:1)
请按以下步骤操作: 1:使用Sql server Management studio将Northwind.mdf附加到服务器上的Sql Server 2005。 2:修改web.config中的connectionstring,使其指向服务器上的db。
答案 2 :(得分:1)
Data Source=.\\SQLEXPRESS;AttachDbFilename=D:\\ASP\TestSite\\App_Data\\Northwind.mdf;Integrated Security=True;User Instance=True
然后阅读How to configure SQL Server 2005 to allow remote connections
确保Northwind.mdf的位置正确!
答案 3 :(得分:1)
以下几点要检查:
如果您要部署到共享托管环境中,则主机可能无法在Web服务器上运行SQL Server。请他们确认并为您提供。
您使用的连接字符串看起来很可疑。如果已在服务器上安装SQL Server但作为“默认”实例,则不需要连接字符串\SQLEXPRESS
的{{1}}部分。只需使用Data Source
或.
。
如果确实安装了SQL Express并且已使用实例名称(local)
进行安装,请检查站点标识是否具有有效的登录名以及对数据库的正确权限。此标识可以是工作进程帐户(SQLEXPRESS
,NETWORK SERVICE
,自定义帐户)或网站的IIS匿名帐户(如果启用了ASP.NET模拟)。
我的最后一点很重要:
ApplicationPoolIdentity
和AttachDbFilename
特定于SQL Express,支持称为“User Instances”的概念。此功能不适用于专用或共享托管环境。我的建议是