2012-08-31 97 views
1

我的開發機器上運行着一個asp.net應用程序(windows 7 ultimate,IIS 7.5和visual studio 2010 pro)。我還安裝了SQL Server 2008 R2,當然還有安裝了VS 2010 Pro的SQL Server Express 2008。web.config中缺少SQL Server Express 2008連接字符串

我運行了ASP.NET配置嚮導,創建了一些用戶併爲我的應用程序滾動。結果在App_Data文件夾中創建了ASPNETDB.MDF數據庫文件。

我現在面臨的問題是上述提到的SQL Server Express數據庫的連接字符串在我的應用程序的web.config中缺少,就像成員資格的元素一樣。

但我的應用程序運行良好。我可以登錄,註銷等。勞斯萊斯也按預期工作。

(我也想指出的是,我的應用程序還可以訪問SQL Server 2008 R2的我的本地機器上的一個數據庫,它也可以做生產服務器上的相同。)

我上傳我的應用生產服務器,在那裏創建成員數據庫(SQL Server 2008),傳輸數據等等。然後我在web.config文件中爲該SQL Server數據庫添加了一個連接字符串。但是,如果我嘗試登錄,則無法連接到SQL Server。錯誤如下: 建立與SQL Server的連接時發生網絡相關或實例特定的錯誤。服務器未找到或無法訪問。驗證實例名稱是否正確,並將SQL Server配置爲允許遠程連接。 (提供程序:SQL網絡接口,錯誤:26 - 錯誤定位服務器/實例指定)

描述:在執行當前Web請求期間發生未處理的異常。請查看堆棧跟蹤以獲取有關該錯誤的更多信息以及源代碼的位置。

異常詳細信息:System.Data.SqlClient.SqlException:在與SQL Server建立連接時出現與網絡相關的或特定於實例的錯誤。服務器未找到或無法訪問。驗證實例名稱是否正確,並將SQL Server配置爲允許遠程連接。 (提供程序:SQL網絡接口,錯誤:26 - 錯誤定位服務器/實例指定)。

我想(雖然我不確定)我的應用程序試圖訪問遠程主機上的SQL Server Express。這是因爲連接字符串是嵌入在其中的某處。

如果我自己清楚,那麼我的問題是: 如何配置連接字符串或在哪裏找到它?因爲它不在web.config中。

我是ASP.NET和SQL Server的新手。任何幫助將不勝感激。 謝謝。

這裏的web.config中

<configuration> 
<connectionStrings> 
<add name="somename" connectionString="Data Source=remotehost;Initial Catalog=remotedb;User Id=username;Password=password"providerName="System.Data.SqlClient" /> 
</connectionStrings> 
<system.web> 
<customErrors mode="Off"></customErrors> 
<roleManager enabled="true" /> 
<authentication mode="Forms" /> 
<compilation debug="true" strict="false" explicit="true" targetFramework="4.0" /> 
</system.web> 
</configuration> 

這一切就是這麼簡單我的web.config。

上面的連接字符串是我爲遠程服務器添加的。

+0

請pakflora你可以添加你的配置 –

回答

1

我找到了我的問題的答案。 如果您是從頭創建您的網站(在我的情況下),ASPDBNET.MDF的連接字符串通常不會出現在web.config中。

該應用程序使用machine.config文件中定義的機器範圍連接字符串。這被命名爲「LocalSqlServer」。

通常,這個LocalSqlServer連接字符串默認情況下是以本地SQL Server Express爲目標的。

因此,它在使用完整SQL Server的遠程主機上失敗。

要將您的網站上傳到遠程服務器,需要對web.config進行一些調整,以指向通常爲SQL Server的新服務器。

爲此,請在web.config文件中添加一個新的連接字符串,並將其命名爲LocalSqlServer。除了名稱之外,其他一切通常都是像數據源,初始目錄等等。

要使其在遠程主機上工作,請在打開connectionStrings元素之前添加一個清除元素。以下是連接字符串對於遠程SQL Server的外觀。

<connectionStrings> 
    <clear/> 
    <add name="LocalSqlServer" connectionString="Data Source=remotehost;Initial Catalog=remoteDB;User Id=username;Password=password" providerName="System.Data.SqlClient" /> 
</connectionStrings> 

然後你就完成了。這就是我爲從頭開始創建的ASP.NET網站所做的工作。現在它的會員登錄,註銷,用戶和卷等工作完美。

感謝您的閱讀。

相關問題