Диалоговое окно свойств соединения winforms для строки конфигурации

Есть ли способ отобразить диалоговое окно свойств подключения для просмотра строки подключения (для базы данных) во время выполнения?

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

Заранее спасибо

http://www.freeimagehosting.net/uploads/c59e853019.jpg


person Thunder    schedule 05.02.2010    source источник
comment
@Binary Обратите внимание, что первое слово моего вопроса — winforms, а его строка подключения для базы данных. Спасибо.   -  person Thunder    schedule 05.02.2010
comment
Извините, сегодня утром я получил поток надоедливых информационных вопросов. Еще раз извиняюсь за поспешность.   -  person Binary Worrier    schedule 05.02.2010
comment
Вы нацелены только на сервер sql или любую базу данных?   -  person Aseem Gautam    schedule 16.02.2010
comment
+1 Отличный вопрос, я удивлен, что Microsoft не пошла дальше, предоставив этот диалог!   -  person Russell    schedule 16.02.2010


Ответы (6)


Найдите эту статью, объясняющую именно то, что вы ищете. Она говорит следующее:

  1. Вам нужно будет добавить пару ссылок на ваш проект:

    • OLE DB Service Component 1.0 Type Library
    • Библиотека объектов данных Microsoft ActiveX 2.x
  2. Используйте следующий код:

    using MSDASC;
    using ADODB;
    
    private string BuildConnectionString()
    {
         string strConnString = "";
         object _con = null;
         MSDASC.DataLinks _link = new MSDASC.DataLinks();
         _con = _link.PromptNew();
         if (_con == null) return string.Empty;
         strConnString = ((ADODB.Connection)_con).ConnectionString;
         return strConnString;
    }
    
person FerranB    schedule 13.02.2010
comment
ИМЕННО то, что я искал! - person MDV2000; 19.12.2011
comment
Недавно я искал эту статью и наткнулся на эту статью который, насколько я могу судить, имеет то же содержание, что и оригинал. - person S.C.; 29.07.2015

Я искал именно это, и похоже, что Microsoft опубликовала исходный код диалогового окна подключения Visual Studio, чтобы его можно было использовать вне VS:

Я только что попробовал, все работает :)

Обновление 7/2019

Поскольку сайт Microsoft Code темный, и, похоже, нет официальной публикации Microsoft для Data Connection Dialog, вот ссылка на пользовательский репозиторий Github с кодом Microsoft.

https://github.com/kjbartel/ConnectionDialog

http://code.msdn.microsoft.com/Connection

person Thomas Levesque    schedule 03.03.2010
comment
Идеально подходит для управляемого кода! Большое спасибо за это - person Vishnoo Rath; 17.09.2012

Она довольно старая, но есть эта статья, которая может вас вдохновить.

person Unsliced    schedule 05.02.2010
comment
Вот еще одна ссылка, в которой говорится о том же: mztools.com/articles/2007/MZ2007011. aspx - person Gabriel McAdams; 11.02.2010

Я не знаю, существует ли для него «предопределенная» форма, но вы можете, конечно, создать свою собственную форму и использовать одну из DbConnectionStringBuilder (SqlConnectionStringBuilder, OracleConnectionStringBuilder, OleDbConnectionStringBuilder), чтобы создать строку подключения на основе параметров, введенных пользователем в специально созданной вами форме.

person Frederik Gheysels    schedule 05.02.2010
comment
@Frederik Спасибо, но я считаю, что .net предоставляет диалог. Мы просто не можем его найти! - person Thunder; 05.02.2010
comment
Я предполагаю, что проблема заключается не только в вводе деталей, а в диалоговом окне MS, обеспечивающем поиск, тесты соединения и (надеюсь) обработку исключений! - person Russell; 16.02.2010

Вы также можете использовать файлы Universal Data Link Files.

http://msdn.microsoft.com/en-us/library/e38h511e%28VS.71%29.aspx

Работает с XP, но я никогда не пробовал это в Vista или Seven

person Davide    schedule 05.02.2010

Существует также http://www.codeproject.com/KB/dialog/UDL_Net.aspx и этот коммерческий www.mjmeans.com/dcd.aspx.

person Jeremy Thomas    schedule 17.07.2011