2012-08-09 79 views

回答

4

我記得我的一些同事在做類似的事情。他找到了這個答案:http://nlog-forum.1685105.n2.nabble.com/DDL-for-Database-Table-How-to-set-Connection-String-Programmatically-td5241103.html這工作完全正常。

從上面

壓倒一切的連接字符串的最簡單的方法鏈接是通過使用 GDC的:

<target name="db" type="Database" connectionString="${gdc:myConnectionstring}" ... /> 
在你的代碼

現在,你可以簡單地做:

GDC.Set("myConnectionString", "Server=.;database=....."); 

您還可以修改目標:

var config = LogManager.Configuration; 
var dbTarget = (DatabaseTarget)config.FindTargetByName("db"); 
dbTarget.ConnectionString = "server=.;..."; 
LogManager.ReconfigExistingLoggers(); 
+0

謝謝,我不知道爲什麼我無法找到。 – Gratzy 2012-08-09 21:27:27

+0

請注意,以編程方式更改dbProvider(然後調用LogManager.ReconfigExistingLoggers)不起作用,但它成功更改了連接字符串。不確定它是一個錯誤還是功能。 – Feyyaz 2013-04-05 14:28:13