Я никогда не хочу разбивать строку подключения, используя манипуляции со строкой, и получать сервер, базу данных, uid и пароль.
Я прочитал следующую ссылку и прочитал принятый ответ, я обнаружил, что это лучший способ получить идентификатор пользователя и пароль из строки подключения, но как насчет имени базы данных?
Правильный способ получить имя пользователя и пароль из строки подключения?
Как получить имя базы данных из строки подключения с помощью SqlConnectionStringBuilder. (DataSource - это имя сервера?)
string database = builder["Initial Catalog"] as string;
- «База данных» было недопустимым ключевым словом.Гораздо более простой альтернативой является получение информации из самого объекта подключения. Например:
IDbConnection connection = new SqlConnection(connectionString); var dbName = connection.Database;
Точно так же вы можете получить имя сервера из объекта подключения.
DbConnection connection = new SqlConnection(connectionString); var server = connection.DataSource;
источник
SqlConnection
. Есть ли аналогичный выход для создания этой перекрестной СУБД?IDbConnection
?string connectString = "Data Source=(local);" + "Integrated Security=true"; SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(connectString); Console.WriteLine("builder.InitialCatalog = " + builder.InitialCatalog);
источник
это дает вам Xact;
System.Data.SqlClient.SqlConnectionStringBuilder connBuilder = new System.Data.SqlClient.SqlConnectionStringBuilder(); connBuilder.ConnectionString = connectionString; string server = connBuilder.DataSource; //-> this gives you the Server name. string database = connBuilder.InitialCatalog; //-> this gives you the Db name.
источник
Имя базы данных - это значение свойства SqlConnectionStringBuilder.InitialCatalog .
источник
Вы можете использовать свойство InitialCatalog или также
builder["Database"]
работает. Я тестировал его с другим корпусом, и он все еще работает.источник