Odac oracle что это
Некоторые возможности могут присутствовать в одном продукте, но не в других из-за расписаний развертывания и возможностей конкретного узла.
Предварительные требования
Поддерживаемые версии Oracle:
- Oracle Server 9 и более поздних версий
- Клиент доступа к данным Oracle (ODAC) — программное обеспечение версии 11.2 и более поздней
Прежде чем можно будет подключиться к базе данных Oracle с помощью Power Query, необходимо установить клиентское программное обеспечение Oracle версии 8.1.7 или выше на компьютере. Чтобы установить 32-разрядное клиентское программное обеспечение Oracle, перейдите на страницу 32-разрядной версии Oracle Data Access Components (ODAC) с Oracle Developer Tools для Visual Studio (12.1.0.2.4). Чтобы установить 64-разрядную версию клиента Oracle, перейдите на страницу 64-разрядной версии ODAC 12c Release 4 (12.1.0.2.4) Xcopy для 64-разрядных версий Windows.
Для подключения к базе данных Oracle с помощью локального шлюза данных необходимо установить правильное клиентское программное обеспечение Oracle на компьютере, где выполняется шлюз. Используемое клиентское программное обеспечение Oracle зависит от версии сервера Oracle, но всегда будет соответствовать 64-разрядному шлюзу. Дополнительные сведения см. в статье Управление своим источником данных — Oracle.
Поддерживаемые возможности
- Используя режим Import
- DirectQuery
- Расширенные параметры
- Время ожидания команды в минутах
- Инструкция SQL
- Включить столбцы отношений
- Навигация с помощью полной иерархии
Подключение базы данных Oracle из Power Query Desktop
Чтобы установить соединение, сделайте следующее:
Выберите параметр база данных Oracle в выбранном соединителе.
Укажите сервер Oracle для подключения к серверу. Если требуется идентификатор безопасности, укажите его с помощью формата ServerName/SID, где SID — уникальное имя базы данных. Если формат имя_сервера/SID не подходит, попробуйте использовать формат имя_сервера/имя_службы, где имя_службы — это псевдоним, используемый при подключении.
Если вы используете локальную базу данных или автономные подключения к базе данных, вам может потребоваться поместить имя сервера в кавычки, чтобы избежать ошибок подключения.
при подключении из Power BI Desktop выберите режим подключения к данным импорта или DirectQuery . В остальных шагах примера используется режим подключения с импортом данных. Дополнительные сведения о DirectQuery см. в статье Использование DirectQuery в Power BI Desktop.
Если вы подключаетесь к этой базе данных Oracle впервые, выберите тип проверки подлинности, который вы хотите использовать, а затем введите свои учетные данные. Дополнительные сведения о проверке подлинности см. в статье Проверка подлинности с помощью источника данных.
В навигаторе выберите необходимые данные, а затем нажмите кнопку загрузить , чтобы загрузить данные или преобразовать данные для преобразования данных.
Подключение базы данных Oracle из Power Query в сети
Чтобы установить соединение, сделайте следующее:
Выберите параметр база данных Oracle в области Выбор источников данных.
В появившемся диалоговом окне база данных Oracle укажите сервер Oracle для подключения к серверу. Если требуется идентификатор безопасности, укажите его с помощью формата ServerName/SID, где SID — уникальное имя базы данных. Если формат имя_сервера/SID не подходит, попробуйте использовать формат имя_сервера/имя_службы, где имя_службы — это псевдоним, используемый при подключении.
Выберите имя локального шлюза данных.
Необходимо выбрать локальный шлюз данных для этого соединителя, будь то база данных Oracle в локальной сети или на веб-сайте.
Если вы подключаетесь к этой базе данных Oracle в первый раз, выберите тип учетных данных для подключения в поле тип проверки подлинности. Если планируется использовать учетную запись, созданную в Oracle, а проверку подлинности Windows, выберите вариант Базовый.
Введите свои учетные данные.
В навигаторе выберите нужные данные, а затем выберите преобразовать данные для преобразования данных в Power Query редакторе.
Подключение с помощью дополнительных параметров
Power Query Desktop предоставляет набор дополнительных параметров, которые можно добавить в запрос при необходимости.
В следующей таблице перечислены все дополнительные параметры, которые можно задать в Power Query Desktop.
Дополнительный параметр Описание Время ожидания команды в минутах Если подключение длится дольше 10 минут (время ожидания по умолчанию), можно ввести другое значение в минутах, чтобы соединение было открыто дольше. Этот параметр доступен только в Power Query Desktop. Инструкция SQL Дополнительные сведения см. в подразделе Импорт данных из базы данных с помощью собственного запроса к базе данных. Включить столбцы отношений Если флажок установлен, включает столбцы, которые могут иметь связи с другими таблицами. Если этот флажок снят, эти столбцы отображаться не будут. Навигация с помощью полной иерархии Если флажок установлен, навигатор отображает полную иерархию таблиц в базе данных, к которой выполняется подключение. Если флажок не установлен, навигатор отображает только те таблицы, столбцы и строки которых содержат данные. Выбрав нужные дополнительные параметры, нажмите кнопку ОК в Power Query рабочем столе, чтобы подключиться к базе данных Oracle.
Устранение неполадок
Если синтаксис именования неверен или не настроен должным образом, в Oracle может возникнуть любая из нескольких ошибок.
- ORA-12154: TNS: не удалось разрешить указанный идентификатор подключения.
- ORA-12514: TNS: прослушиватель в настоящее время не знает о службе, запрошенной в дескрипторе подключения.
- ORA-12541: TNS: нет прослушивателя.
- ORA-12170: TNS: истекло время ожидания подключения.
- ORA-12504: TNS: прослушивателю не предоставлены SERVICE_NAME в CONNECT_DATA.
Эти ошибки могут произойти, если клиент Oracle не установлен или неправильно настроен. Если он установлен, убедитесь, что файл tnsnames. ORA настроен правильно и вы используете правильный net_service_name. кроме того, необходимо убедиться, что net_service_name между компьютером, на котором используется Power BI Desktop, и компьютером, на котором выполняется шлюз. Дополнительные сведения см. в разделе Необходимые условия.
Кроме того, могут возникнуть проблемы совместимости между версией сервера Oracle и версией клиента доступа к данным Oracle. Как правило, необходимо, чтобы эти версии совпадали, так как некоторые сочетания несовместимы. Например, ODAC 12. x не поддерживает Oracle Server версии 9.
Скачайте Power BI Desktop из Центра загрузки вместо магазина Microsoft Store.
Если вы используете Сервер отчетов Power BI, см. сведения о типе соединения Oracle.
При разработке программного обеспечения всегда руководствовался простым правилом, чем меньше в развивающемся проекте используется сторонних компонентов, платформ, технологий, тем лучше. Почти все гениальное — просто. К сожалению, у разработчика не всегда есть возможность свободного выбора средств и систем, с которыми он работает. Вот и мне достался проект Windows Forms + ODAC + Oracle DB Server.
С большой радостью узнал о выходе Oracle Data Access Components (ODAC) for Microsoft Entity Framework and LINQ to Entities (Beta2). Очень ждал этого момента и вот свершилось! Можно не использовать сторонние ORM — все под ключ.
Как научить приложение использовать Entity Framework через установленный на конечных машинах клиент ODAC — описано в пошаговой инструкции от Oracle. Кому интересно, как избавиться от необходимости установки клиента Oracle на машинах пользователей, прошу под кат.
Общие требования
- Visual Studio 2010 Service Pack 1
- Oracle Database server 9.2 или выше
- ODAC for Microsoft Entity Framework and LINQ to Entities
Подключаемые библиотеки
1.4 MB)) подключить как Reference и присвоить свойству “Copy local” значение “true”.
-
«путь к клиенту»\client_1\oci.dll (
Этого достаточно для обеспечения доступа к БД без установки клиента на машине пользователя:
private bool TestConnect()
try
var oracleConnection = new OracleConnection
ConnectionString =
"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=ServerNameOrIP)(PORT=PortNumber)))(CONNECT_DATA=(SERVICE_NAME=DBName)));User >
>;
oracleConnection.Open();
var oracleCommand = new OracleCommand
CommandText = "select sysdate from dual" ,
Connection = oracleConnection,
Transaction = null
>;
var oracleDataAdapter = new OracleDataAdapter ;
var sysDateDataSet = new DataSet( "SomeName" );
oracleDataAdapter.Fill(sysDateDataSet, "dateTimeTable" );
return sysDateDataSet.Tables[0].Rows.Count > 0;
>
catch (Exception exx)
MessageBox.Show( string .Format( "Could not connect directly to an Oracle database: \n " , exx.Message));
return false ;
>
* This source code was highlighted with Source Code Highlighter .Что необходимо сделать для использования Entity Framework Model без установки клиента Oracle
В файл конфигурации проекта (App.Config/Web.Config) будет автоматически (если вы выберете данный соответствующий пункт в мастере) добавлена строка подключения к БД Oracle:
< add name ="HREntities" connectionString ="metadata=res://*/HRModel.csdl|res://*/HRModel.ssdl|res://*/HRModel.msl;provider=Oracle.DataAccess.Client;provider connection string="Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=ServerNameOrIP)(PORT=PortNumber)))(CONNECT_DATA=(SERVICE_NAME=DBName)));User > providerName ="System.Data.EntityClient" />
Тут стоит обратить особое внимание на то, что значение, присвоенное атрибуту «provider connection string» обязательно должно быть в двойных кавычках (для их обозначения необходимо использовать код &_q_u_o_t). Это также стоит учесть при динамическом формировании строки подключения.
< system.data >
< DbProviderFactories > <br> < remove invariant ="Oracle.DataAccess.Client" />
< add name ="Oracle.DataAccess.Client" invariant ="Oracle.DataAccess.Client" description ="Oracle Data Provider for .NET" type ="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=4.112.2.40, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</ DbProviderFactories >
</ system.data >Тонкости
При динамическом подключении модели к БД «правильным» методом от MS, следует обратить внимание на не совсем корректное формирование строки подключения через объект EntityConnectionStringBuilder
string providerName = "Oracle.DataAccess.Client" ;
string dataSourse = (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=ServerNameOrIP)(PORT=PortNumber)))(CONNECT_DATA=(SERVICE_NAME=DBName)));User > var sqlBuilder =
new SqlConnectionStringBuilder
DataSource = dataSourse
>;
string providerString = sqlBuilder.ToString();
var entityBuilder =
new EntityConnectionStringBuilder
Provider = providerName,
ProviderConnectionString = providerString,
Metadata =
@"res://*/HRModel.csdl|res://*/HRModel.ssdl|res://*/HRModel.msl"
>;
using ( var conn =
new EntityConnection(entityBuilder.ToString()))
conn.Open();
Console .WriteLine( "Just testing the connection." );
conn.Close();
>
* This source code was highlighted with Source Code Highlighter .
В результате entityBuilder.ToString() вернет строку подключения с лишними одинарными кавычками, в которые заключено полностью значение атрибута provider connection string
metadata=…;provider=Oracle.DataAccess.Client;provider connection string= ' Data Source= \" (DESCRIPTION=(… ); User color="red">\"'
В то время как провайдер Oracle требует строку подключения следующего формата:
metadata=…;provider=Oracle.DataAccess.Client;provider connection string= \" Data Source=(DESCRIPTION(…); User color="red">\"
– иначе выдает ошибку.
Пока можно формировать строку подключения некрасиво:
private bool DynamicConnect()
const string providerName = "Oracle.DataAccess.Client" ;
const string serverName = "(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=ServerNameOrIP)(PORT=PortNumber)))(CONNECT_DATA=(SERVICE_NAME=DBName)));User >;
const string metadata = "metadata=res://*/HRModel.csdl|res://*/HRModel.ssdl|res://*/HRModel.msl" ;
var entBild = string .Format( "metadata=;provider=;provider connection string=\"Data Source=\";" , metadata, providerName, serverName);
try
var conn = new EntityConnection(entBild);
conn.Open();
var hrEntities = new HREntities(conn);
var tmpResult = hrEntities.BRIDGE.Count();
conn.Close();
return true ;
>
catch (Exception exx)
MessageBox.Show( string .Format( "Could not connect directly to an Oracle database: \n " , exx.Message));
return false ;
>
>* This source code was highlighted with Source Code Highlighter .
Быть может это отголоски бета версии – посмотрим как будет в релизе, который, как обещает Oracle, состоится в четвертом квартале 2011 года.
Ниже мы рассмотрим наиболее известные из них.
Компоненты для доступа к ODBC-источникам
Так как ODBC является на данный момент наиболее часто используемым универсальным механизмом доступа к данным (ODBC-драйвер нынче можно найти практически к чему угодно, и нередко не один), хорошие перспективы применения подобных компонентов очевидны. Производительность приложений, использующих компоненты для доступа к ODBC-источникам, обычно выше производительности приложений, которые используют BDE и ODBC Link, за счет отказа от использования дополнительных библиотек BDE. По этой же причине упрощена поставка таких приложений, поскольку не требуется включать BDE в дистрибутив и обеспечивать его настройку на компьютере пользователя. Однако об установке ODBC, наличии соответствующего ODBC-драйвера и описании ODBC-источника данных тем не менее следует позаботиться.
ODBCExpress (Korbitec)
ODBCExpress представляет собой набор компонентов и классов для Delphi и C++Builder, применяемых для доступа к ODBC-источникам данных и инкапсулирующих вызовы ODBC API. Для работы приложений, использующих эти компоненты и классы, требуются библиотеки ODBC (доступные на Web-сервере Microsoft) и ODBC-драйвер для выбранной СУБД. Сами компоненты и классы ODBCExpress располагаются внутри исполняемого файла приложения.
ODBCExpress совместим со стандартными компонентами отображения данных и генераторами отчетов, наиболее часто применяемыми с этими средствами разработки, а также с наиболее популярными коммерческими компонентами отображения данных, такими как InfoPower (Woll2Woll Software) и Orpheus (TurboPower).
Эксперты, тестировавшие продукт, отмечают его отличную работу вместе с ODBC-драйверами для Microsoft SQL Server и Microsoft Access и неудовлетворительную работу с ODBC-драйверами для Sybase SQL Anywhere и IB Database.
ODBC98 (Kosta Corriveau)
ODBC98, как и ODBCExpress, представляет собой набор компонентов и классов для Delphi и C++Builder, обеспечивающих доступ к ODBC-источникам и использующих для этой цели ODBC API. Для применения этих библиотек также требуются библиотеки ODBC и ODBC-драйвер для выбранной СУБД. Сами компоненты и классы ODBC98 также располагаются внутри исполняемого файла приложения.
ODBC98 cовместим со стандартными компонентами отображения данных и генераторами отчетов, наиболее часто применяемыми с этими средствами разработки, а также с наиболее популярными коммерческими компонентами отображения данных, такими как InfoPower (Woll2Woll Software) и Orpheus (TurboPower).
Хотя ODBC98 — относительно новый продукт, он успел получить неплохие отзывы экспертов, особенно в отношении высококачественной технической поддержки. Достоинством продукта можно считать и наличие регулярных публикаций результатов его тестирования совместно с вновь выходящими ODBC-драйверами, что избавляет потребителей от многочисленных утомительных «экспериментов».
Компоненты прямого доступа к Oracle
Несмотря на неплохую поддержку Oracle в BDE, компоненты прямого доступа к Oracle имеют хорошие перспективы применения, так как не требуют приобретения дорогих Enterprise-версий Delphi или C++Builder и предоставляют дополнительную функциональность, специфичную для данной СУБД.
Производительность приложений, использующих компоненты прямого доступа к Oracle (как и к любым другим серверным СУБД), обычно выше, чем приложений, использующих BDE, за счет отказа от использования дополнительных библиотек BDE. Поставка приложений, использующих такие компоненты, не представляет трудностей – в состав дистрибутива приложений не нужно включать ни BDE, ни ODBC. Однако клиентская часть Oracle на компьютере пользователя, безусловно, должна присутствовать – эти компоненты используют функции или объекты из ее библиотек.
Oracle Data Access Components (CoRe Lab Software Development)
Oracle Data Access Components (ODAC) представляет собой набор невизуальных компонентов для Delphi и C++ Builder, позволяющих осуществить доступ к Oracle без использования универсальных механизмов доступа к данным. Для доступа к объектам Oracle ODAC использует непосредственно API клиентской части Oracle — Oracle Call Interface (OCI). Отказ от применения универсальных механизмов доступа к данным позволяет повысить производительность приложений и использовать при создании приложений Delphi Professional или C++Builder Professional, более дешевые по сравнению с Enterprise-версиями, обычно применяемыми для этой цели.
ODAC может быть использован совместно со стандартными компонентами отображения данных, QuickReport, ReportBuilder Pro, а также с наиболее популярными коммерческими компонентами отображения данных, такими как InfoPower (Woll2Woll Software) и Orpheus (TurboPower).
Компоненты ODAC могут быть использованы с Oracle 7.3, Oracle 8, Oracle 8i, включая Personal Oracle и Personal Oracle Lite.
Direct Oracle Access (Allround Automations)
Direct Oracle Access представляет собой еще один набор компонентов, использующий клиентский API для доступа к данным Oracle. Эти компоненты не требуют применения каких-либо универсальных механизмов доступа к данным, тем самым повышая производительность создаваемых приложений, а также позволяют применять Professional-версии средств разработки Borland для создания приложений, использующих Oracle. Кроме того, Direct Oracle Access позволяет выполнять блоки PL/SQL и использовать объектные расширения Oracle 8.
Direct Oracle Access может быть использован совместно со стандартными компонентами отображения данных, генераторами отчетов типа QuickReport, ReportBuilder Pro, а также с наиболее популярными коммерческими компонентами отображения данных, такими как InfoPower (Woll2Woll Software) и Orpheus (TurboPower).
Данный набор компонентов совместим со всеми версиями клиентов Oracle и со всеми версиями Oracle – от Personal Oracle Lite до Oracle 8i.
Компоненты прямого доступа к IB Database
Компоненты прямого доступа к IB Database (как и аналогичные компоненты для Oracle) имеют неплохие перспективы применения, так как не требуют приобретения Enterprise-версий Delphi или C++Builder, предоставляя дополнительную функциональность, специфичную для IB Database. Один из таких наборов уже входит в комплект поставки Enterprise-версий Delphi 5 и С++Builder 5, но при наличии Professional-версий этих продуктов (или более ранних их версий) стоит обратить внимание на продукты сторонних фирм, реализующие аналогичную функциональность.
Производительность приложений, использующих компоненты прямого доступа к IB Database, обычно выше производительности приложений, которые используют BDE. При поставке таких приложений следует позаботиться о наличии на компьютере пользователя клиентской части IB Database — эти компоненты используют клиентский API, содержащийся в ее библиотеке.
InterBase Objects (Jason Wharton)
IB Objects представляет собой набор из более чем 40 компонентов прямого доступа к IB Database для Delphi (начиная с версии 2.0) и С++Builder (начиная с версии 3.0), использующих клиентский API этой СУБД. Этот набор совместим со стандартными компонентами отображения данных и генераторами отчетов, наиболее часто применяемыми с этими средствами разработки, а также с наиболее популярными коммерческими компонентами отображения данных, такими как InfoPower (Woll2Woll Software) и Orpheus (TurboPower), однако содержит и собственные визуальные компоненты, в том числе реализующие поиск данных в таблицах и результатах запросовов. IB Objects позволяет использовать специфические особенности IB Database, в частности связанные с обработкой транзакций в этой СУБД.
Помимо этого в комплект поставки IB Objects входит сервер приложений, позволяющий создавать Web-приложения с применением этих компонентов, а также средство просмотра SQL-запросов, генерируемых приложением.
FreeIBComponents (Gregory Deatz)
FreeIBComponents — набор VCL-компонентов прямого доступа к IB Database 4.2 и 5 для Delphi (начиная с Delphi 3). Помимо собственно компонентов доступа к данным, содержит Pascal-версию заголовочного файла API клиентской части IB Database.
Эксперты отмечают быстрое исправление ошибок и недостатков, несмотря на то что данный продукт распространяется бесплатно.
Компоненты Titan для доступа к различным СУБД
Компоненты Titan фирмы Reggatta Systems для доступа к Btrieve, Microsoft Access, Sybase SQL Anywhere используют клиентский API этих СУБД, что исключает необходимость использования других библиотек доступа к данным (BDE, ODBC и др.) и позволяет достичь приемлемой производительности.
Titan Btrieve (Reggatta Systems)
Titan Btrieve представляет собой набор компонентов прямого доступа к данным Btrieve 6.x и выше, а также Pervasive.SQL. Эти компоненты используют непосредственно Btrieve API и требуют наличия соответствующих библиотек на клиентском компьютере, где используется такое приложение.
Компоненты Titan Btrieve совместимы со всеми компонентами отображения данных Delphi и C++Builder.
Среди особенностей Titan Btireve следует отметить возможность добавлять в исполняемый файл сведения о метаданных используемой этим приложением базы данных (имена таблиц, наименования и типы полей и др.). Это позволяет снизить число обращений к базе данных и тем самым уменьшить сетевой трафик. Помимо этого при использовании Titan Btireve можно вызывать процедуры сжатия базы данных и восстановления ее после сбоев.
Titan Access (Reggatta Systems)
Titan Access представляет собой набор компонентов прямого доступа к данным Access. Эти компоненты используют библиотеки Microsoft Jet, которые должны быть установлены на компьютере пользователя.
Компоненты Titan Access совместимы со всеми компонентами отображения данных Delphi и C++Builder.
Titan SQL Anywhere (Reggatta Systems)
Titan SQL Anywhere представляет собой набор компонентов прямого доступа к данным Sybase SQL Anywhere. Эти компоненты используют API клиентской части SQL Anywhere, в том числе недокументированные функции.
Компоненты Titan SQL Anywhere совместимы со всеми компонентами отображения данных Delphi и C++Builder.
Эксперты, тестировавшие данный продукт, отмечают его высокую производительность.
Компоненты управления данными dBase и dBase-подобных СУБД
Компоненты доступа к dBase имеют неплохие перспективы применения по очень простой причине – dBase и его «клоны» были на протяжении многих лет самыми популярными в мире форматами данных (об этом мы уже писали во второй статье данного цикла, опубликованной в апрельском номере журнала). Количество данных, хранящихся в этом формате, а также информационных систем, до сих пор базирующихся на применении формата данных dBase, по-прежнему очень велико, особенно в нашей стране. На российских предприятиях, особенно на периферии, можно обнаружить немало продуктов, написанных на FoxBase и Clipper, которые продаются и покупаются, эксплуатируются на любых компьютерах, в том числе на безнадежно устаревших, при этом вполне удовлетворяя пользователей, и которые по этим причинам никто в ближайшее время не планирует заменять на что-то другое. Но создавать новые приложения, использующие накопленные таким образом данные, все же иногда приходится.
TOPAZ (Software Science, Inc.)
TOPAZ представляет собой набор компонентов, классов и функций для Delphi и C++Builder, позволяющих осуществить прямой доступ к данным ранних версий формата dBase, а также применять в приложениях, созданных с помощью Delphi, функции, характерные для xBase-языков (они реализованы в библиотеках TOPAZ).
TOPAZ совместим со стандартными компонентами отображения данных, QuickReport, а также с наиболее популярными коммерческими компонентами отображения данных, такими как InfoPower (Woll2Woll Software) и Orpheus (TurboPower), однако содержит и собственные визуальные компоненты, предназначенные для печати некоторых специализированных отчетов (типа почтовых и других этикеток) и редактирования данных в стиле «старых» dBase-приложений.
Поставка приложений, использующих TOPAZ, не представляет трудностей – в состав дистрибутива приложений не нужно включать ни BDE, ни ODBC. Сами же компоненты находятся внутри исполняемого файла, использующего их приложения, и не требуют никаких дополнительных библиотек.
Помимо библиотек компонентов и функций для манипуляции данными, в комплект поставки TOPAZ входит ряд полезных утилит, например для редактирования dBase-таблиц и их структуры и др.
Apollo (Vista Software)
Apollo представляет собой набор VCL-компонентов для Delphi и C++Builder, позволяющих осуществлять прямой доступ к таблицам и индексам FoxPro и Clipper (файлы с расширениями .DBF, .DBT, .NTX, .FPT, .IDX, .CDX), а также к собственному формату данных Vista Software (файл с расширением .NSX). При поставке приложений, кроме исполняемого файла, требуются две динамически загружаемые библиотеки размером 350 Kбайт.
Особенностью Apollo является поддержка режима блокировок, характерного для DOS-приложений, созданных с помощью FoxPro и Clipper. Это позволяет совместно использовать одну и ту же базу данных приложениями, созданными с помощью Apollo, и приложениями, созданными с помощью FoxPro и Clipper. Помимо этого Apollo поддерживает оптимизацию запросов наподобие применяемой в FoxPro, шифрование данных, использование функций, определяемых пользователем, в запросах и индексах (что широко применялось в dBase, Clipper, FoxPro, но сейчас практически не используется в универсальных механизмах доступа к данным; с этой точки зрения Apollo – практически единственный инструмент, позволяющий манипулировать dBase-таблицами с индексами, основанными на выражениях).
Apollo cовместим со стандартными компонентами отображения данных, наиболее популярными генераторами отчетов, используемыми с этими средствами разработки, а также с наиболее популярными коммерческими компонентами отображения данных, такими как InfoPower (Woll2Woll Software) и Orpheus (TurboPower).
Advantage Database Server (Extended Systems, Inc.)
Advantage Database Server является одним из некогда «модных» решений – надстройкой над dBase-данными, представляющей собой отдельный процесс, функционирующий наподобие сервера баз данных и управляющий dBase-таблицами (мы упоминали о таких решениях в предыдущей статье данного цикла, опубликованной в майском номере журнала). Клиентские приложения обращаются к этому серверу, а не непосредственно к таблицам. Иными словами, применяя этот продукт, мы можем получить некоторые преимущества архитектуры «клиент-сервер» (например, обработку запросов на сервере, увеличение объема хранимых данных) при сохранении устаревшего формата данных; надо отметить, что это решение пока еще довольно популярно, по крайней мере в США.
Advantage Database Server содержит компоненты и классы для Delphi и C++Builder, позволяющие использовать стандартные компоненты отображения данных, наиболее популярные генераторы отчетов, используемые с этими средствами разработки, а также наиболее популярные коммерческие компоненты отображения данных, такие как InfoPower (Woll2Woll Software) и Orpheus (TurboPower).
Для использования Advantage Database Server с другими средствами разработки в комплект поставки продукта входит ODBC-драйвер.
Серверная часть Advantage Database Server (без клиентских утилит) входит в комплект поставки Visual dBase начиная с версии 7.5.
На компьютере, где эксплуатируются приложения, использующие Advantage Database Server, требуется наличие его клиентской части.
Заключение
В настоящей статье мы рассмотрели некоторые механизмы доступа к данным. Мы узнали, что существует несколько способов доступа к данным из средств разработки и клиентских приложений, которые условно можно разделить на две категории:
-
использование клиентского API (или клиентских COM-объектов);
Мы также узнали, что:
-
универсальные механизмы доступа к данным обычно реализованы в виде библиотек и модулей, называемых драйверами или провайдерами, содержащих стандартный набор функций или классов, реализованных на основе функций клиентского API конкретных СУБД;
Далее мы рассмотрели BDE и возможности, предоставляемые этим механизмом доступа к данным. Мы выяснили следующее:
-
физически BDE представляет собой библиотеки доступа к данным, реализующие функции BDE API для манипуляции данными;
Мы также узнали, что применение BDE в ряде случаев связано с определенными ограничениями, причиной которых нередко является отсутствие необходимых BDE-драйверов. Однако существует возможность выбора продуктов третьих фирм, способных заменить BDE в приложениях, созданных с помощью средств разработки Borland. В данном обзоре мы рассмотрели в качестве таких продуктов:
-
компоненты для доступа к ODBC-источникам данных;
Следующая статья нашего цикла будет посвящена OLE DB и ADO – универсальным механизмам доступа к данным, доступным практически во всех популярных средствах разработки и являющимся составной частью операционных систем семейства Windows 2000.
Компоненты Oracle Data Access Components (ODAC) - это библиотека компонентов, которая обеспечивает родное подключение к Oracle из Delphi, C ++ Builder, Lazarus (и Free Pascal) в Windows, Mac OS X, iOS, Android, Linux и FreeBSD для 32. и 64-битные платформы. ODAC, высокопроизводительное и многофункциональное решение для подключения Oracle, является эффективной нативной альтернативой Borland Database Engine (BDE) и стандартным драйвером dbExpress. Он обеспечивает как возможность подключения к Oracle с помощью собственного доступа к данным Oracle, так и прямой доступ к Oracle без Oracle Client. Основные характеристики: - поддерживается Mac OS 64-bit - поддерживается Oracle 18c - поддерживается аутентификация ОС в режиме Direct - поддерживается замена литералов NChar - поддерживается RAD Studio 10.3 Rio - поддерживается Linux в RAD Studio 10.2 Tokyo - Lazarus 2.0. 2 и поддержка Free Pascal 3.0.2 - Oracle Encryption в поддержке прямого режима - поддержка AppMethod - поддержка прямого режима. Он также распространяется в виде исходного кода и доступен для Lazarus. - Поддержка разработки приложений для Android - Поддержка разработки для iOS - Поддержка компилятора NEXTGEN - Поддержка разработки для Mac OS X - Поддержка разработки для Win64 - Прямой доступ к данным сервера. Нет необходимости устанавливать другие уровни поставщика данных - доступны версии библиотек VCL, LCL и FMX. - В режиме Direct не требуется клиентское программное обеспечение Oracle, и он работает напрямую через TCP / IP. - Полная поддержка последних версий Oracle и ее типов данных. Отключенная модель с автоматическим контролем соединения для работы с данными в автономном режиме - Локальное переключение при сбое для обнаружения потери соединения и неявного повторного выполнения определенных операций - Автоматическое обновление данных с помощью компонентов TOraQuery, TSmartQuery и TOraTable - Расширенная функциональность выполнения скрипта с компонентом TOraScript - Интеграция с OraDeveloper Tools и dbForge Studio for Oracle для расширенной разработки баз данных - поддержка Oracle Advanced Queuing . Подробнее »
Так уж случилось что сайт простаивает, а в свое время я занимался им активно, идея просто отличная и забросить ее не в коем случае нельзя, поэтому мной было принято решение о продаже этого сайта.
Что получает в итоге покупатель:- Весь контент сайта(все содержимое хостинга)
- Полные права на доменное имя сайта(сделаем трансфер)
- Копирайт сайта на большом количестве сторонних ресурсов так как сайту уже более 4-х лет
- Готовый движок форума и все исходные тексты системы управления сайтом
- Все исходные тексты ПО которое опубликовано на сайте
- Все почтовые ящики доменного имени
- Все домены третьего уровня
Дополнительную информацию о статистике посещения, клиентах, вы можете узнать написав на почту [email protected]
Поговорим сегодня про компоненты для Embarcadero RAD Delphi, а именно о ODAC – oracle data access components. Если быть точней, то об одной их плюшке – многопоточности.
А что это? Как это реализовано и для чего можно использовать?Во многих литературных источниках о многопоточности в Delphi встречается всего 1 – 2 главы не более, все потому что эта тема изначально не особо освещена в справочной информации. Но речь не об этом, многопоточность хорошо, когда, например, вы запускаете формирование большого отчета, а сами в этом же окне продолжаете работать с журналом, вот такой утрированный пример. Это был пример нормально работающего приложения. Что чаще встречается на практике – запускаем отчет, программа «зависает» мы ждем пока отчет выгрузит нам данные и только потом продолжаем работать в журнале, как-то так.
Реализовано это довольно просто, так сказать пара кликов.
1.У компонента TOraSession.TheadSafety=true
2.У компонента TOraQuery.NonBlocking=true
Ну вот собственно и все.
После этих действий ваш датасет будет обрабатывать запросы выборки данных (select) в отдельном потоке, что позволит, к примеру параллельно основной работе выгружать отчетные формы.
Как вы могли догадаться данный функционал можно использовать не только для отчетов. У меня, например, несколько ПО которые работают только в потоках, то есть вся логика распределена по потокам и этого мне удалось достать в основном исходя из метода, описанного в данной статье.
Читайте также: