我添加了一个数据库文件(.mdf
)使用 Visual Studio 内置功能添加到我的应用程序。数据库位于App_Data
文件夹。它运行良好。但是当我发布它并将其上传到服务器时,它会出现此错误。
发生网络相关或特定于实例的错误
建立与 SQL Server 的连接。找不到服务器或
无法访问。验证实例名称是否正确
SQL Server 配置为允许远程连接。 (提供者:SQL
网络接口,错误:26 - 定位服务器/实例时出错
指定的)
我访问过类似的情况但很困惑。我不知道服务器上运行的是哪个版本的SQL Server。我使用 Filezilla 上传项目。我的连接字符串如下web.config
:
<add name="ConnectionString"
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True"
providerName="System.Data.SqlClient"/>
请逐步描述过程是可能的。
提前致谢。
整体用户实例和 AttachDbFileName=方法是有缺陷的 - 充其量!此外,它仅支持ExpressSQL Server 版本 - 所以如果您的托管商有除Expres,你基本上完蛋了。
The 实解我认为是
安装 SQL Server Management Studio Express
创建您的数据库SSMS快递,给它一个逻辑名称(例如MyDatabase
)
-
使用其逻辑连接到它数据库名称(当您在服务器上创建它时给出) - 并且不要弄乱物理数据库文件和用户实例。在这种情况下,您的连接字符串将类似于:
Data Source=.\\SQLEXPRESS;Database=MyDatabase;Integrated Security=True
其他一切都是exactly和以前一样...
现在,当您将网站上传到托管站点时,您需要获取必要的 SQL 脚本来在托管站点上创建和填充数据库 - 您可以使用Tasks > Generate Scripts
通过 SSMS Express 工具或通过其他方式。
然后,在托管站点上,您需要执行这些 SQL 脚本来创建和填充数据库(稍后:执行更改脚本以使数据库保持最新)。
您的连接字符串也很可能会更改为以下内容:
Server=(ip-address-or-name);Database=MyDatabase;User ID=YourUserIdHere;Pwd=YourPassword
因为托管提供商不使用SQLEXPRESS
命名实例(但很可能是default没有任何名称的实例)。您需要向您的提供商询问详细信息 - 您可能必须提供其他实例名称!这完全取决于提供商,我们无法知道 - 您必须询问并找出答案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)