Постоянное изменение базы данных подключения к OLE DB

#c# #database #ole

#c# #База данных #ole

Вопрос:

Я работаю с подключением OLE DB, которое должно изменять базы данных во время выполнения. Я обнаружил, что метод ChangeDatabse несколько полезен, но как только я закрываю соединение, он сбрасывается обратно к исходному значению строки подключения.

Поскольку моя строка подключения может быть написана для нескольких серверов, я бы хотел избежать ее прямого изменения.

Есть идеи?

Ответ №1:

Почему вы не используете DbConnectionStringBuilder

 System.Data.Common.DbConnectionStringBuilder builder = 
    new System.Data.Common.DbConnectionStringBuilder();
builder["Data Source"] = "(local)";
builder["integrated Security"] = true;
builder["Initial Catalog"] = "AdventureWorks;NewValue=Bad";
  

Таким образом, вы могли бы изменить исходный каталог следующим образом builder["Initial Catalog"] = "whatever";

Он также содержит ConnectionString свойство для получения строки подключения.

Посмотрите как MSDN.

Комментарии:

1. Спасибо. Будет ли это независимым от типа db?

2. Это просто поможет вам эффективно использовать строку подключения. И, насколько мне известно, она не зависит от типа db. DbConnectionStringBuilder не выполняет никаких проверок на наличие допустимой строки подключения. Следовательно, с помощью этого класса возможно создать недопустимые строки подключения.

3. Отметьте это как ответ, если сочтете это полезным.