Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > Подскажите цивилизованый способ проверки строки со


Автор: libman 11.4.2008, 11:30
Строка соединенияк базе генериться динамически в процессе работы, хотелось бы ее проверить перед запуском, подскажите документированный способ проверки строки соединения
свой я то придумал но не красиво как то получаетсья

Код

            Connection = new OleDbConnection(ConStrAn);
            try
            {
                Connection.Open();
            }
            catch
            {
            }
            if (Connection.State == ConnectionState.Open)
            {
                Connection.Close();
                flag=true;
            }
            else
            {
                flag=false;
            }

Автор: mr.DUDA 11.4.2008, 15:37
ИМХО, только так.

Автор: ivashkanet 11.4.2008, 16:33
Для MSSQL:
System.Data.SqlClient.SqlConnectionStringBuilder имеет конструктор: SqlConnectionStringBuilder(string connectionString)

Цитата

Initializes a new instance of the SqlConnectionStringBuilder class. The provided connection string provides the data for the instance's internal connection information.
Parameters
connectionString
The basis for the object's internal connection information. Parsed into name/value pairs. Invalid key names raise KeyNotFoundException.
Exceptions  : Exception Condition 
FormatException: Invalid value within the connection string (specifically, when a Boolean or numeric value was expected but not supplied). 
KeyNotFoundException: Invalid key name within the connection string. 



Такой билдер есть на каждый тип базы данных.

Автор: mr.DUDA 11.4.2008, 18:30
ivashkanet, снимаю шляпу...  smile 

Автор: libman 12.4.2008, 09:25
спасибо

Автор: ivashkanet 12.4.2008, 18:38
mr.DUDA, я сам не знал, просто забил в рефлектор (он у меня заместо MSDN smile ) ConnectionString и нашел такой грамотный класс.

P.S. А вообще неплохо было бы чтобы connString парсился бы во время сеттинга коннекшену

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)