1 / 12

Управляемые провайдеры ADO.NET

Управляемые провайдеры ADO.NET. Подключение к базам данных. Управляемый провайдер OLE DB. Провайдер OLE DB реализуется при помощи типов, определенных в пространстве имен System.Data.OleDb.

turner
Download Presentation

Управляемые провайдеры ADO.NET

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Управляемые провайдеры ADO.NET Подключение к базам данных

  2. Управляемый провайдер OLE DB Провайдер OLE DB реализуется при помощи типов, определенных в пространстве имен System.Data.OleDb. Провайдер OleDb позволяет нам обращаться к данным, расположенным в любом хранилище, к которому можно подключиться по протоколу OLE DB. Таким образом, аналогично классическому ADO, вы можете использовать в ADO.NET управляемый провайдерOLE DB для доступа, например, к базам данных SQL Server, MS Access и Oracle. Однако поскольку при этом типы из пространства имен System. Data. OleDb должны взаимодействовать с обычным (не .NET) кодом драйверов OLE DB, то при таком обращении будет производиться множество преобразований вызовов .NET в вызовы СОМ, что в некоторых ситуациях может привести к падению производительности.

  3. Наиболее важные типы пространства имен System.Data.OleDb Таблица 13.12. Тип Описание OleDbCommand Представляет запрос SQL, производимый к источнику данных OleDbConnection Представляет открытое соединение с источником данных OleDbDataAdapter Представляет соединение с базой данных и набор команд, используемых для заполнения объекта DataSet, а также обновления исходной базы данных после внесения изменений в DataSet OleDbDataReader Обеспечивает метод считывания потока данных из источника в одном направлении (вперед) OleDbErrorCollection OleDbErrorCollection представляет набор ошибок и предупреждений, OleDbError возвращаемых источником данных. Сами эти ошибки OleDbException и предупреждения представлены объектами OleDbError. При возникновении ошибки может быть сгенерировано исключение, представленное объектом OleDbException OleDbParameterCollection Используются для передачи параметров процедуре, хранимой OleDbParameter на источнике данных. Параметры представлены объектами OleDbParameter, весь набор — объектом OleDbParameterCollection

  4. Установление соединения при помощитипа OleDbConnection // Первый шаг: устанавливаем соединение OleDbConnection cn = new OleDbConnection(); cn.ConnectionString = "Provider=SQLOLEDB.1;" + "Integrated Security=SSPI;" + "Persist Security Info=False;" + "Initial Catalog=Kontora;" + "Data Source=HOME-1E51FF62F3;"; cn.Open(); // Выполняем различные операции cn.Close(); Data Source — это имя компьютера, с которым мы устанавливаем соединение. Initial Catalog — имя базы данных, к которой мы подключаемся (в нашем случае Kontora). Provider — это имя провайдера OLE DB, который будет использован для обращения к источнику данных.

  5. Установление соединения при помощитипа OleDbConnection Таблица 13.13. Наиболее часто используемые провайдеры OLE DB Microsoft.JET.OLEDB.4.0 Этот провайдер OLE DB используется для подключения к базам данных JET 9, то есть Access) MSDAORA Для подключения к базам данных Oracle SQLOLEDB Для подключения к базам данных MS SQL Server

  6. Члены класса OleDbConnection Таблица 13.14. BegiriTransaction()Используются для того, чтобы программным образом начать CommitTransacton()транзакцию, завершить ее или отменить RollbackTransaction() Close()Закрывает соединение с источником данных (наиболее рекомендуемыйспособ) ConnectionStringПозволяет настроить строку подключения при установлении соединения или получить ее содержание ConnectonTimeoutПозволяет получить или установить время тайм-аута при установкесоединения Database Позволяет получить или установить название текущей базы данных во время подключения DataSourceПозволяет получить или установить имяисточника данных Ореn()Открывает соединение с базой данных, используя текущие настройки свойств соединения Provider Позволяет получить или установить имя провайдера State Позволяет получить информацию о текущем состоянии соединения

  7. Построение команды SQL Объектно-ориентированным представлением запроса на языке SQL в ADO.NET является класс OleDbCommand. Сам текст команды определяется через свойство OleDbCommand.CormandText. // Второй шаг: создаем команду SQL // Первый вариант выполнения SQL-запроса string strSQL1 = "Select * from k_firm": OleDbCommand myCommand = new OleDbCommand(strSQL1,cn); // Второй вариант выполнения SQL-запроса string strSQL2 = "Select * from k_firm"; OleDbCommand myCommand2 = new OleDbCommand(): myCommand2.Connection =cn; myConmand2.CommandText = strSQL2;

  8. Члены класса OleDbCommand Таблица 13.15. Cancel()Прекращает выполнение команды CommandTextПозволяет получить или задать текст запроса на языке SQL (возможно,с особенностями диалекта, определяемыми типом источника данных),который будет передан источнику данных CommandTimeout Позволяет получить время тайм-аута при выполнении команды.По умолчанию это время равно 30 секундам CommandType Позволяет получить или установить значение, определяющее, как именнобудет интерпретирован текст запроса, заданный через свойство. ConnectionПозволяет получить ссылку на объект OleDbConnection, для которогоиспользуется данный объект OleDbCommand ExecuteReader()Возвращает объект OleDbDataReader Parameters Возвращает коллекцию параметров OleDbParameterCollection Prepare()Готовит команду к выполнению (например, она будет откомпилирована)на источнике данных

  9. Работа с OleDbDataReader Этот класс представляет однонаправленный(только вперед), доступный только для чтения поток данных, который за один развозвращает одну строку в ответ на запрос SQL. // Третий шаг: получаем объект OleDbDataReader при помощи методаExecuteReader() OleDbDataReader myDataReader; myDataReader = myCommand.ExecuteReader();

  10. Работа с OleDbDataReader // Четвертый шаг: проходим циклом по всем возвращаемым данным while (myDataReader.Read()) { Console.WriteLine("Фирма: " + myDataReader["firm_name"].ToString()); } myDataReader.Close():

  11. using System; using System.Data.OleDb; namespace ConsoleApplication6 { class Class1 { static void Main(string[] args) { // Первый шаг: устанавливаем соединение OleDbConnection cn = new OleDbConnection(); cn.ConnectionString = "Provider=SQLOLEDB.1;" + "Integrated Security=SSPI;" + "Persist Security Info=False;" + "Initial Catalog=Kontora;" + "Data Source=HOME-1E51FF62F3;"; cn.Open(); // Второй шаг: создаем команду SQL string strSQL = "SELECT * FROM k_firm"; OleDbCommand myCommand = new OleDbCommand(strSQL, cn); // Третий шаг: получаем объект OleDbDataReader при помощи метода ExecuteReader() OleDbDataReader myDataReader; myDataReader = myCommand.ExecuteReader(); // Четвертый шаг: проходим циклом по всем возращаемым данным while (myDataReader.Read()) { Console.WriteLine("Фирма: " + myDataReader["firm_name"].ToString()); } myDataReader.Close(); cn.Close(); } } }

  12. Подключение к базе данных Access OleDbConnection cn = new OleDbConnection(); cn.ConnectionString = "Provider=Microsoft.JET.OLEDB.4.0.;" + @"Data Source=D:\book.mdb;";

More Related