2011-12-15 151 views
3

是否有一个标准库或代码片段来获取带有连接字符串的值?解析连接字符串

string connstr = "DataServiceUrl=http://localhost/foo;" + 
     "RemoteServerConnection={server=http://localhost/foo2;interface=0.0.0.0;};" + 
     "publisherport=1234;StatisticsURL=http://localhost/foo3"; 

整个内部连接属性是一种把它扔在一个循环中。我想根据一个关键字获得特定的值。

这里是答案作者:John我用:

System.Data.Odbc.OdbcConnectionStringBuilder builder = new System.Data.Odbc.OdbcConnectionStringBuilder(); 
builder.ConnectionString = this.ConnectionString; 
MessageBox.Show(builder["RemoteServerConnection"]); 
+11

参见[连接字符串生成器( http://msdn.microsoft.com/en-us/library/ms254947.aspx) – 2011-12-15 18:13:58

回答

5

由(")更换 “{” 和 “}” 的伎俩:

string conn = "DataServiceUrl=http://localhost/foo;" + 
    "RemoteServerConnection={server=http://localhost/foo2;interface=0.0.0.0;};" + 
    "publisherport=1234;StatisticsURL=http://localhost/foo3"; 

var builder = new System.Data.Common.DbConnectionStringBuilder(); 
builder.ConnectionString = conn.Replace("{", "\"").Replace("}", "\""); 
var keys = builder.Keys; 
var values = builder.Values; 
string remoteServerConnection = (string)builder["RemoteServerConnection"];