Менеджер подключений к БД
От: vl690001x Россия  
Дата: 05.11.10 13:05
Оценка:
Пишу .NET приложение на C#, которое будет использовать сервер базы данных в локальной сети. (скорее всего Sql server 2005 express)
Собственно, надо иметь возможность найти доступные серверы, выбрать нужный и подключиться к базе данных.
Лазия по форумам, я понял что это целая проблема. Но ведь практически все на практике сталкивались с такой задачей. Может быть уже написана какая то библиотека, которая например выводит конфигурационное окно, в котором настраивается подключение (как в SSMS например), и возвращает объект базового класса DbConnection? Ну или интерфейс? В конце концов, C# это же компонентно-ориентированный язык, неужели все пишут эти вещи с нуля?
Читал статью "Менеджер подключений к базам данных" в разделе статей, но этот компонент требует непременно 1-й dotnet. Что конечно неприемлемо.
Кто нибудь сталкивался с подобной проблемой?
sql server
Re: Менеджер подключений к БД
От: Аноним  
Дата: 05.11.10 15:03
Оценка:
Здравствуйте, vl690001x, Вы писали:

V>Пишу .NET приложение на C#, которое будет использовать сервер базы данных в локальной сети. (скорее всего Sql server 2005 express)

V>Собственно, надо иметь возможность найти доступные серверы, выбрать нужный и подключиться к базе данных.
V>Лазия по форумам, я понял что это целая проблема. Но ведь практически все на практике сталкивались с такой задачей. Может быть уже написана какая то библиотека, которая например выводит конфигурационное окно, в котором настраивается подключение (как в SSMS например), и возвращает объект базового класса DbConnection? Ну или интерфейс? В конце концов, C# это же компонентно-ориентированный язык, неужели все пишут эти вещи с нуля?
V>Читал статью "Менеджер подключений к базам данных" в разделе статей, но этот компонент требует непременно 1-й dotnet. Что конечно неприемлемо.
V>Кто нибудь сталкивался с подобной проблемой?

Нужно добавить библиотеку Microsoft OLE DB Service Component 1.0 Type Library
(это Interop.MSDASC.dll)
Ну и ADODB конечно, нотом запускаеш диалог настроек подключения и получаешь строку подключения.

private bool TryConnectSource()
    {
      string m_sGlobalConnectingStr = ...
      if (!m_sGlobalConnectingStr.Contains("Provider"))
        m_sGlobalConnectingStr = "Provider=SQLOLEDB.1;" + m_sGlobalConnectingStr;

      ADODB.Connection adodbConnection = new ADODB.Connection();
      adodbConnection.ConnectionString = m_sGlobalConnectingStr;
      object connection = (object)adodbConnection;
      MSDASC.DataLinks dlg = new MSDASC.DataLinks();
      bool r = dlg.PromptEdit(ref connection);

      m_sGlobalConnectingStr = adodbConnection.ConnectionString;      
      return r;
    }
Re: Менеджер подключений к БД
От: irrona  
Дата: 07.11.10 14:47
Оценка:
Здравствуйте, vl690001x, Вы писали:

V>Пишу .NET приложение на C#, которое будет использовать сервер базы данных в локальной сети. (скорее всего Sql server 2005 express)

V>Собственно, надо иметь возможность найти доступные серверы, выбрать нужный и подключиться к базе данных.
V>Лазия по форумам, я понял что это целая проблема. Но ведь практически все на практике сталкивались с такой задачей. Может быть уже написана какая то библиотека, которая например выводит конфигурационное окно, в котором настраивается подключение (как в SSMS например), и возвращает объект базового класса DbConnection? Ну или интерфейс? В конце концов, C# это же компонентно-ориентированный язык, неужели все пишут эти вещи с нуля?
V>Читал статью "Менеджер подключений к базам данных" в разделе статей, но этот компонент требует непременно 1-й dotnet. Что конечно неприемлемо.
V>Кто нибудь сталкивался с подобной проблемой?

Можно средствами .NET, как в предыдущем ответе, или с помощью API, используя функцию NetServerEnum с флагом SV_TYPE_SQLSERVER
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.