How to get Database Name from Connection String using SqlConnectionStringBuilder

后端 未结 7 1760
太阳男子
太阳男子 2020-12-02 21:52

I never want to split connection string using string manipulation and get server,database,uid and password.

I read the following link and read the accepted answer ,

7条回答
  •  时光说笑
    2020-12-02 22:11

    You can use the provider-specific ConnectionStringBuilder class (within the appropriate namespace), or System.Data.Common.DbConnectionStringBuilder to abstract the connection string object if you need to. You'd need to know the provider-specific keywords used to designate the information you're looking for, but for a SQL Server example you could do either of these two things:

    System.Data.SqlClient.SqlConnectionStringBuilder builder = new System.Data.SqlClient.SqlConnectionStringBuilder(connectionString);
    
    string server = builder.DataSource;
    string database = builder.InitialCatalog;
    

    or

    System.Data.Common.DbConnectionStringBuilder builder = new System.Data.Common.DbConnectionStringBuilder();
    
    builder.ConnectionString = connectionString;
    
    string server = builder["Data Source"] as string;
    string database = builder["Initial Catalog"] as string;
    

提交回复
热议问题