Технология доступа к базе данных на языке С# - Система анализа и учета учебной документации

OLE DB (англ. Object Linking and Embedding, Database) - набор интерфейсов, основанных на COM, которые позволяют приложениям обращаться к данным, хранимым в разных источниках информации или хранилищах данных с помощью унифицированного доступа.

OLE DB (связывание и внедрение объектов, базы данных, а иногда в литературе встречается как OLEDB или OLE-DB) является API разработанной Microsoft для доступа к различным типам данных, которые хранятся в единой форме. Программа представляет собой набор интерфейсов, реализованных с помощью Component Object Model (COM); в данном случае это связано с OLE. Она была разработана в качестве дальнейшего развития и должна прийти на замену и в качестве преемникаODBC, расширяя набор функций для поддержки более широкого круга нереляционных источников данных, таких как объектно-ориентированые базы данных илиэлектронные таблицы, и для которых не обязательно использовать SQL.

OLE DB отделяет хранилище данных из приложения, которое должно иметь доступ к нему через набор абстракций, которые включают DataSource, сессию, командную строку. Это было сделано потому, что различным приложениям необходим доступ к различным видам и источникам данных и не всегда нужно знать, как получить доступ к методологии функционирования конкретной технологии. OLE DB концептуально разделена на потребителей и поставщиков. Потребителями являются приложения, которым необходим доступ к данным, а поставщик реализует в своем интерфейсе программный компонент и, следовательно, обеспечивает информацией потребителя. OLE DB является частью Microsoft Data Access Components (MDAC). MDAC является группой технологий Microsoft, которые взаимодействуют вместе как основа, которая позволяет программистам создать единый и всеобщий способ разработки приложений для доступа к данным практически любого хранилища. OLE DB провайдеры могут быть созданы для обеспечения простого доступа к таким хранилищам данных, как текстовые файлы и электронные таблицы, вплоть до таких сложных баз данных, как Oracle, Microsoft SQL Server и Sybase ASE. Он может также обеспечить доступ к иерархическим хранилищам данных таких, как системы электронной почты.

Однако, поскольку различные хранилища данных технологий могут иметь разные возможности, OLE DB не может реализовать все возможности интерфейса, доступные для OLE DB. Возможности, которые доступны, осуществляются посредством использования объектов COM - поставщик OLE DB будет отсылать к карте хранилища данных технологий, обеспечивая функциональность для конкретного интерфейса COM. Microsoft описывает наличие интерфейса "конкретного поставщика", поскольку оно не может применяться в зависимости от используемой технологии баз данных. Отметим также, что поставщики могут увеличить возможности хранения данных - таких возможностей, как услуги в терминологии Microsoft.

Долгое время Microsoft рекомендовала использовать OLE DB взамен ODBC, но с анонсом Microsoft SQL Server 2014 было объявлено, что прекращается поддержка "родного" OLE DB для этого продукта и остается только поддержка ODBC.

С FoxPro идет прямое взаимодействие с определенной таблицей (файл DISCIPL. dbf во вложении, можно открыть в экселе посмотреть содержимое-файл - открыть).

Пример подключения и считывания таблицы на C#.

Находим файл. dbf в папке

Создаем DataTable dt

Загружаем в него нашу таблицу из. dbf

Public class FileDBF

{

Private OleDbConnection _connection = null;

Private const string putFileName = @"C:SER"; // сюда пишите ПОЛНЫЙ ПУТЬ к ПАПКЕ.

Public DataTable Execute(string command)

{

DataTable dt = null;

If (_connection!= null)

{

Try

{ _connection. Open();

Dt = new DataTable();

System. Data. OleDb. OleDbCommand oCmd = _connection. CreateCommand();

OCmd. CommandText = command;

Dt. Load(oCmd. ExecuteReader());

_connection. Close();

}

Catch (Exception e)

{

MessageBox. Show(e. Message);

}}

Return dt;

}

Public DataTable GetAll(string dbpath)

{

Return Execute("SELECT * FROM " + dbpath);

}

Public FileDBF()

{

This._connection = new System. Data. OleDb. OleDbConnection();

_connection. ConnectionString = @"Provider=Microsoft. Jet. OLEDB.4.0;Data Source=" + putFileName + "; Extended Properties=dBASE IV;";

}}}

Похожие статьи




Технология доступа к базе данных на языке С# - Система анализа и учета учебной документации

Предыдущая | Следующая