Виртуальная библиотека Delphi
- Название:Виртуальная библиотека Delphi
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Виртуальная библиотека Delphi краткое содержание
Виртуальная библиотека Delphi - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
25. Можно ли использовать Crystal Report с таблицами формата Paradox 5.0?
Да, можно, только если вам удастся получить ODBC-драйвер для таблиц Paradox. Во всяком случае на Crystal BBS находится файл bde.zip, который и содержит этот драйвер.
26. Как открыть таблицу dBase, у которой поврежден (утерян) индексный MDX файл?

Как я могу использовать таблицу dBase без необходимого для нее MDX файла?

При создании таблицы dBASE с индексным файлом MDX в заголовке DBF файла устанавливается байт со смещением 28 (десятичное) от начала файла. При открытии таблицы, у которой данный байт установлен, также происходит попытка открыть MDX файл; если это не удается, то возникает исключение (exception). Для решения проблемы достаточно прописать в DBF файл 0 по указанному смещению.
27. Как определить номер текущей записи для набора данных?
Если набор данных основан на таблицах Paradox или dBASE, то номер записи можно определить с помощью вызовов BDE. BDE не поддерживает номер записи для наборов данных на SQL сервере; если ваш сервер поддерживает нумерацию записей, вам нужно обратиться к его документации.
Базы данных — прочие SQL сервера
1. Как осуществляется доступ к базе данных из Delphi?
Сначала вы должны в утилите BDE Configuration Utility (bdecfg или bdecfg32) определить псевдоним для базы данных, с которой вы хотите работать. Это позволит вам избежать написания сложного пути к базе данных в вашем приложении; вы теперь только ссылаетесь на псевдоним. Затем вы создаете минимум три объекта на форме: TTable или TQuery , который фактически общается с базой данных через псевдоним и получает данные; объект TDataSource , который связывает данные и визуальные компоненты; по крайней мере один компонент, отображающий данные.
Если вы потратили несколько часов, чтобы заставить все это работать, но ничего не получилось, попробуйте установить свойство Active у TTable или TQuery в True . Это откроет таблицу в базе данных.
2. Какие серверы данных поддерживает Delphi?
Delphi (в старших вариантах поставки) напрямую работает с Oracle, Informix, InterBase, DB/2, Sybase, MS SQL Server. Вы можете использовать ODBC драйверы третьих фирм, чтобы работать с любым сервером. Наиболее известные производители качественных ODBC драйверов:
• InterSolv ( www.intersolv.com)
• Visigenic Software ( www.visigenic.com)

Есть специализированный вариант Delphi 2.0 — Delphi/400, который ориентирован исключительно на работу с AS/400.
3. Cуществует ли способ работать из Delphi с AS/400, исключая ODBC?

В состав Delphi 1.0 не входит, но доступен отдельно визуальный 16-разрядный компонент компании Gerald Limited.

Есть специализированный вариант Delphi 2.0 - Delphi/400, который ориентирован исключительно на работу с AS/400.
4. Cуществует ли способ работать из Delphi с Lotus Notes (IBM Notes), за исключением ODBC?

Существует только 16-разрядный линк для Notes. В состав Delphi он не входит (разработан компанией Brainstorm) и поставляется отдельно по каналам Borland. Спрашивайте дилеров Borland.
5. Можно ли создавать с помощью Delphi сетевые приложения не для схемы клиент-сервер, а для схемы с разделяемыми файлами (как, например, в FoxPro)?
Компонент TTable имеет свойство Exclusive ; если Exclusive=False , то одну и ту же таблицу могут просматривать и редактировать несколько пользователей. При редактировании таблицы текущая запись автоматически блокируется. Если есть необходимость заблокировать несколько записей или всю таблицу, то для этого придется использовать функции BDE — модуль DBIPROCS (

) или 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).
Еще важнее:
Если Вы все-таки решили управлять транзакциями при помощи SQL запросов через TQuery , то SQLPASSTHRU MODE должно быть NOT SHARED, иначе Implicit & Explicit транзакции могут влиять друг на друга и привести к 'неожиданным результатам'!
Читать дальшеИнтервал:
Закладка: