我以前已经问过这个问题,但没有任何反应良好,我的问题是,我在我的App_Data文件夹中的本地数据库(ASPNETDB.MDF),这里是在web.config中的连接字符串:
<add name="ApplicationServices"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient" />
所以我的网站在我的本地IIS服务器工作正常,但是当我把网站在我的主机服务器,我得到这个错误消息:与SQL Server建立连接时出现与网络相关的或特定于实例的错误。 服务器未找到或无法访问。 验证实例名称是否正确,以及SQL Server配置为允许远程连接。 (提供者:SQL网络接口,错误:26 - 错误定位服务器/实例指定)。
在其他的服务器我有SQL Server 2008中(远程连接被接受和我有相同的实例名称SQLEXPRESS)。 我真的什么都试过,我可以,但没有任何好的结果。 我真的很感谢你的帮助,THX。
此格式表明本地连接:
.\SQLEXPRESS
从另一台服务器,你需要指定服务器名称或IP地址,例如:
192.168.1.205\SQLEXPRESS
YOURMACHINE\SQLEXPRESS
您还需要验证该实例的SQL Server Express。 从您的其他几乎相同的问题,它看起来像一个默认实例。
你也应该停止使用这种无聊的用户实例/ attachDbFilename技术。 附上您的数据库实例正确,然后使用引用逻辑数据库名称Initial Catalog=aspnetdb;
在您的连接字符串。 该用户实例功能被弃用出于多种原因,这当然是其中之一。
当然,可能还有其他的网络问题,以防止这一点,例如,如果服务器是在不同的领域,有防火墙设置的干扰等,但你的服务器是永远不会能够使用点来访问你的机器了服务器名称。
编辑提供婴儿的步骤,因为很明显我的建议没有被遵守。 假设你实际上已经附着在新服务器上的数据库aspnetdb的,试试这个请:
connectionString="data source=192.168.85.124\SQLEXPRESS;
Integrated Security=SSPI;
Initial Catalog=aspnetdb;"
如果您没有使用毕竟SQL Express的命名实例,请尝试:
connectionString="data source=192.168.85.124;
Integrated Security=SSPI;
Initial Catalog=aspnetdb;"
对于SQL身份验证使用在Management Studio中使用相同的用户名/密码:
connectionString="data source=192.168.85.124;
User ID=username; Password=password;
Initial Catalog=aspnetdb;"
这是故障排除101的东西。 如果仍然不能得到这个工作,你可能要聘请顾问10分钟,为您解决问题,因为这是不可能找出你做了什么,以及为什么你不能得到它的工作。
文章来源: error: 26 - Error Locating Server/Instance Specified. (Can't connect to my local Db From my host server)