Читать «Виртуальная библиотека Delphi» онлайн - страница 90

Unknown

) или BDE (

). Кстати, существенно, что это можно делать и на Delphi Desktop - отсюда вывод: сетевые приложения (в файл-серверной архитектуре) можно делать и на Delphi Desktop.

6. Можно ли работать при помощи Delphi не с IDAPI — или ODBC-драйверами, а с "родными" API каких-либо СУБД?

Да, можно. Это еще один пример открытости Delphi. В одном из проектов Демо-центра появилась необходимость прямого обращения к API SQL-сервера. Был написан соответствующий интерфейс поверх Borland InterBase API - и все заработало. Аналогично: существуют написанные компоненты для работы с AS/400 и для мэйнфреймов.

7. Какие версии Informix (Online, I-NET) поддерживают SQL Links?

BDE версии до 2.51 поддерживает работу с клиентской частью Informix ESQL/C I*NET 4.x. BDE версии 2.51-2.52 поддерживается ESQL/C I*NET 5.x.

32 SQL Link версии 3.5 и выше поддерживает ESQL/C I*NET 7.x.

8. Как работать с таблицами в виде текстовых файлов (ASCII)?

Информацию об этом вы можете найти в каталоге DELPHI\DOC. Файл называется ASCIIDRV.TXT.

9. Как правильно указать имя сервера Oracle?

Пишите имя по правилам Oracle - перед именем не забудьте поставить @.

10. Что такое транзакции (Transactions)?

SQL database серверы обрабатывают запросы в 'логических единицах работы' которые и называются транзакциями. То есть транзакция - это группа связанных операций (SQL запросов) которые все должны быть выполнены успешно перед тем, как сервер закончит (commit) изменение базы данных. Либо вся это группа будет выполнена, либо нет. Транзакции обеспечивают целостность базы данных ...

11. Как в Delphi управлять транзакциями?

В Delphi может управлять транзакции так:

1. Implicitly — сам стартует и коммитит транзакции по необходимости, когда программа вызывает метод Post.

2. Explicitly —

 1. StartTransaction, Commit & RollBack методы TDatabase.

 2. При помощи SQL запросов через TQuery — это зависит от конкретного SQL сервера.

Неявные (1) транзакции выполняют TTable & TQuery.

Для явных (2.1) транзакций требуется TDatabase.

Для явных (2.2) транзакций требуется TQuery.

Важно:

При определении параметров драйвера SQLPASSTHRU MODE - определяет будут ли passthrough SQL (PSQL) & стандартные вызовы BDE (BDEC) использовать один и тот же connect к SQL серверу.

Возможные варианты:

1. NOT SHARED — PSQL & BDEC используют разные соединения с базой и следовательно влияют (интерферируют) друг на друга также как разные пользователи одной базы (см. Transaction isolation levels)

2. SHARED:

 1. SHARED AUTOCOMMIT — PSQL & BDEC используют одно соединение с базой, каждый PSQL запрос автоматически коммитятся.

 2. SHARED NOAUTOCOMMIT — PSQL & BDEC используют одно соединение с базой, PSQL запросы коммитятся 'вручную' (способом 2.1).