2017-08-03 150 views
0

我遇到了一個問題,我想在我的Web.config文件中動態更改一部分連接字符串。 我看過的每個地方都有人說這是放置它的錯誤,但我找不到其他地方放這個。動態更改連接字符串

這個想法是,我連接到一個數據庫,我必須指定SQL客戶端。我的ASP.net站點應該可以從許多不同的計算機訪問,並且他們有不同的SQL客戶端。 Eg. SQL Server Native Client 10.0SQL Server Native Client 11.0

我找到一種方法來檢索這個數據作爲一個字符串,但我想不出如何將它插入到我的ConnectionString。

我的連接字符串的示例如下:

<connectionStrings> 
    <add name="name" connectionString="DRIVER=SQL Server Native Client 11.0;server=server;Database=database;Trusted_Connection=Yes; Provider=SQLNCLI11.0" /> 
    </connectionStrings> 

我想我已經成功地創建的字符串替換提供商領域SQLNCLI11.0

+0

你的ASP.net站點在哪裏運行 - 在單個服務器上,還是在幾十個客戶端上? –

+0

多重客戶端 –

+0

如果您使用'SqlClient'順便說一句,'Provider' /'Driver'不相關。 –

回答

1

我不清楚爲什麼你想動態改變你的連接字符串,當你可以在配置中有多個連接字符串並在運行時讀取它們。
您可以按照下列步驟操作:
1.聲明多個連接字符串在您的配置文件是這樣的:

<connectionStrings> 
<add name="Provider1" connectionString="..." /> 
<add name="Provider2" connectionString="..." /> 
</connectionStrings> 

2.至於你說的

我已經找到一種方法來檢索這個數據作爲字符串,但我不能 找出如何將其插入到我的ConnectionString。

使用提供者的名稱來訪問這樣的連接字符串:

string Provider1Connection = ConfigurationManager.ConnectionStrings["Provider1"].ConnectionString; 
string Provider2Connection = ConfigurationManager.ConnectionStrings["Provider2"].ConnectionString;  

希望這有助於!