КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
События
Методы · BeginTransaction() – начинает транзакцию базы данных. · ChangeDatabase – изменяет текущую базу данных для открытого подключения SqlConnection. (Переопределяет DbConnection.ChangeDatabase(String).) · ChangePassword – заменяет пароль SQL Server для пользователя, указанного в строке подключения, заданным новым паролем. · Close – закрытие подключения к базе данных. Рекомендуется использовать этот метод для закрытия любого открытого подключения. (Переопределяет DbConnection.Close().) · CreateCommand – создает и возвращает объект SqlCommand, связанный с SqlConnection. · Dispose() – освобождает все ресурсы, используемые объектом Component. (Унаследовано от Component.) · GetSchema() – возвращает информацию схемы для источника данных этого объекта SqlConnection. (Переопределяет DbConnection.GetSchema().) · GetType – возвращает объект Type для текущего экземпляра. (Унаследовано от Object.) · Open – открывает подключение к базе данных со значениями свойств, определяемыми объектом ConnectionString. (Переопределяет DbConnection.Open().) · Disposed – происходит при удалении компонента вызовом метода Dispose. (Унаследовано от Component.) 1.2 Командная строка соединения ConnectionString. Явное управление соединением (с помощью строки соединения) обладает рядом преимуществ: дает более чистый и удобный для чтения код; помогает при отладке приложения; является более эффективным. Строка соединения ConnectionString определяет параметры, необходимые для установления соединения с источником данных. Каждый параметр оформляется как пара «имя-значение». Параметры разделяются точками с запятой. Рассмотрим строки соединения, которые подключают базы данных BDTur_firm.mdb и BDTur_firmSQL.mdf. // База данных BDTur_firm: Provider=Microsoft.Jet.OLEDB.4.0; Data Source="D:ВМИFor ADOBDTur_firm.mdb" // путь к БД
// База данных BDTur_firmSQL.mdf: Data Source=.SQLEXPRESS; AttachDbFilename="D:ВМИFor ADO BDTur_firmSQL.mdf"; Integrated Security=True; Connect Timeout=30; User Instance=True В этих строках через точку с запятой просто перечисляются параметры соединения. В таблице приводятся основные параметры строки соединения:
Строка соединений при использовании мастеров генерируется средой, но можно (и желательно – во избежание неточностей и ошибок) писать эту строчку вручную. Для явного управления соединением используется объект Connection. 1.3 Управление соединением. Объект Connection. Большинство источников данных поддерживает ограниченное количество соединений. Так, например, база данных MS Access может поддерживать одновременную работу не более чем с 255 пользователями. При попытке обращения к базе данных, лимит соединений которой исчерпан, пользователь не получит нужной ему информации и будет вынужден ждать освобождения соединения. Задача разработчика заключается в минимизации времени связи с базой данных, поскольку соединение занимает полезные системные ресурсы. Когда вызывается метод объекта DataAdapter (например, метод Fill), то он сам проверяет, открыто ли соединение. Если соединения нет, то DataAdapter открывает соединение, выполняет задачи и затем закрывает соединение. В качестве строки соединения можно использовать одну из строк из примеров для приложения, работающего с СУБД Microsoft Access. Например, string ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0; " + "Data Source=D:ВМИFor ADOBDTur_firm.mdb"; Теперь можно устанавливать соединение, вызывая метод Open объекта Connection: OleDbConnection conn = new OleDbConnection(); conn.ConnectionString = ConnectionString; conn.Open(); class Program { static void Main(string[] args) { Способ №1: «Ручное» создание строки соединения //Создание и открытие соединения: SqlConnection cn = new SqlConnection(); /* Строка соединения: Data Source=.SQLEXPRESS;AttachDbFilename="D:Связный уровеньБаза данныхFriedens.mdf";Integrated Security=True;Connect Timeout=30;User Instance=True*/ string st1="Data Source=.\SQLExpress;"; string st2 = "AttachDbFilename="D:\Связный уровень\База данных\Friedens.mdf";"; string st3 = "Integrated Security=True;"; string st4 = "Pooling=False;"; cn.ConnectionString = st1 + st2 + st3 + st4; Console.WriteLine(cn); Console.WriteLine(st1 + st2 + st3 + st4); cn.Open(); Console.WriteLine("************ Информация о соединении: ********"); Console.WriteLine("Полное имя базы данных "+cn.Database); Console.WriteLine("Размещение базы данных "+cn.DataSource); Console.WriteLine("Время ожидания " + cn.ConnectionTimeout); Console.WriteLine("Состояние соединения "+cn.State.ToString()); Способ №2: Соединение с серверной базой данных с помощью построителя строки соединения SqlConnectionStringBuilder bldr = new SqlConnectionStringBuilder(); bldr.DataSource = @"mifsqlexpress"; bldr.InitialCatalog = "Friedens"; bldr.IntegratedSecurity = true; SqlConnection cn = new SqlConnection(bldr.ConnectionString); Console.WriteLine(cn.ConnectionString); cn.Open();
Console.WriteLine("************ Информация о соединении: ********"); Console.WriteLine("Полное имя базы данных " + cn.Database); Console.WriteLine("Размещение базы данных " + cn.DataSource); Console.WriteLine("Время ожидания " + cn.ConnectionTimeout); Console.WriteLine(cn.State.ToString()); 1.4 Обработка исключений при работе с MS SQL. Подключение к базе данных представляет собой одно из слабых мест в работе программы. В силу самых разных причин клиент может не получить доступ к базе данных. Поэтому при создании приложения следует обязательно включать обработку исключений и возможность предоставления пользователю информации о них. Для получения специализированных сообщений при возникновении ошибок подключения к базе данных Microsoft SQL Server используются классы SqlException и SqlError. Объекты этих классов можно также применять для перехвата номеров ошибок, возвращаемых базой данных: 17 – Неверное имя сервера 4060 – Неверное название базы данных 18456 – Неверное имя пользователя или пароль Дополнительно вводятся уровни ошибок SQL Server, позволяющие охарактеризовать причину проблемы и ее сложность:
При возникновении исключительной ситуации при соединении с БД возникает исключение типа SqlException. Информация о возникших ошибках содержится в свойстве Errors, представляющем собой коллекцию объектов типа SqlError. Ошибка определяется целочисленным свойством Number, представляющим номер ошибки. Анализируя значение, можно определить причину возникновения ошибки и действия, которые необходимо предпринять для ее устранения.
Дата добавления: 2014-01-14; Просмотров: 405; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |