2016-03-22 64 views
0

,當我通過IP adresss連接我的連接字符串工作通過別名連接到遠程SQL Server

<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=&quot;data source=192.168.0.61;initial catalog=DATABASE_NAME;integrated security=True;multipleactiveresultsets=True;application name=EntityFramework&quot;" providerName="System.Data.EntityClient" /> 
    </connectionStrings> 

我創建別名的遠程服務器上,像我這樣做是localy(相同的端口和名稱),但它不工作。當我將IP地址放入連接字符串時,就像我發佈的IP地址一樣。 有人可以請求給我一些關於如何解決問題的指導。

錯誤我正在嘗試通過別名進行連接,並通過IP進行連接。順便說一句可以通過別名連接本地。

(EntityException):底層提供程序在打開時失敗。

+0

有沒有人試圖問我係統管理員是否給出了相同的主機名? @MuratYıldız感謝嘗試幫助! – 1392023093user

回答

2

因此,您的數據庫服務器知道它的別名,但您的應用程序服務器不是。您必須在應用程序服務器上創建別名。 你可以做到這一點與

工具Cliconfg.exe

(開始>運行> cliconfg>點擊 「OK」) 而不是設置你的協議和端口一樣DB服務器上

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的「連接」對話框的「服務器名稱」字段中進行檢查,如下所示。

enter image description here


更新:這裏是下面的數據鏈接屬性對話框中顯示:

enter image description here


如果不解決這個問題,看看The underlying provider failed on open。希望這有助於...

+0

我只從管理工作室連接到別名,沒有SQL實例。所以我不認爲這是問題。 – 1392023093user

+0

當我創建別名時,我也添加了sql服務器名稱,但仍然是相同的錯誤。 – 1392023093user

+0

創建一個空白記事本並將其重命名爲「X.UDL」雙擊打開它,在連接選項卡下選擇服務器名稱/輸入名稱使用正確的憑證和數據庫確定保存它。現在在記事本中打開文件,並檢查,比較連接字符串屬性與此... –