当我通过IP地址连接时,我的连接字符串正常工作
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=ALIAS_SERVERNAME;Initial Catalog=DATABASE_NAME;Integrated Security=True" providerName="System.Data.SqlClient" />
<add name="DefaultContainer" connectionString="metadata=res://*/Models.Db.ModelName.csdl|res://*/Models.Db.ModelName.ssdl|res://*/Models.Db.ModelDb.msl;provider=System.Data.SqlClient;provider connection string="data source=192.168.0.61;initial catalog=DATABASE_NAME;integrated security=True;multipleactiveresultsets=True;application name=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
我在远程服务器上创建了Alias,就像我做的那样(相同的端口和名称),但它不起作用。当我把IP地址放在连接字符串中时,就像我发布的那个一样,它正在工作。 有人请求给我一些关于如何解决问题的指示。
当我尝试通过Alias连接时,我收到错误,并且通过IP它正在工作。顺便说一句,可以通过Alias连接localy。
(EntityException):底层提供程序在Open上失败。
答案 0 :(得分:2)
因此,您的数据库服务器知道其别名,但您的应用程序服务器不知道。您必须在应用程序服务器上创建别名。 你可以用
做到这一点工具Cliconfg.exe
(开始&gt;运行&gt; cliconfg&gt;点击&#34;确定&#34;) 而不是设置您的协议,端口与数据库服务器相同
答案 1 :(得分:1)
您可能需要在别名末尾添加SQL Server名称,即SQLEXPRESS等,如下所示:
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=ALIAS_SERVERNAME\SQLEXPRESS;
Initial Catalog=DATABASE_NAME;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
如果您不使用MSSQL Server的默认名称,则需要更改您使用的名称。您可以在SQL Server Management Studio的“连接”对话框的“服务器名称”字段中进行检查,如下所示。
更新:以下是DataLink属性对话框:
如果它没有解决问题,请查看The underlying provider failed on open。希望这可以帮助...