Рейтинг:  5 / 5

Звезда активнаЗвезда активнаЗвезда активнаЗвезда активнаЗвезда активна
 

Фрагмент форума с SQL.RU

 

 Прямое соединение с БД Advantage (без ODBC)  [new]
Anonymous developer 
Guest
Добрый вечер,
Имеется локальная база данных (Advantage Local Server) и соединение с ней сейчас осуществляется через odbc-драйвер. Мне на Delphi7 нужно заменить соединение через odbc-драйвер на прямое подключение (direct connection to DB) используя dll.
Вот что я прочел про прямое подключение:

A native DB interface communicates with a DB through a direct connection. It communicates to a DB using that DB's native API.


Вот что написанно про подключение к Advantage Server на сайте:

Платформы разработки:
Delphi (через родные компоненты, OLE DB Provider, ODBC Driver или API)
...



Кто работал с Advantage, что мне необходимо — "родные компоненты"(это Native access components?) или API(я так понимаю, имеется в виду Advantage Client Engine API AND DLLs ?)
Вообще, в чем отличие соединения через odbc-драйвер от прямого соединения?

Заранее благодарю.
30 янв 07, 21:36    [3716184]     Ответить | Цитировать Сообщить модератору

 Re: Прямое соединение с БД Advantage (без ODBC)  [new]
White Owl 
Member

Откуда: 
Сообщений: 10300
Anonymous developer
Вообще, в чем отличие соединения через odbc-драйвер от прямого соединения?

Native driver, оно же API: Авторы СУБД придумали интерфейс к своей БД. Его минус - он совершенно уникален, отличается от протоколов доступа к другим СУБД. Его плюс - он имеет абсолютный контроль над БД, он поддерживает все фичи что клиент в принципе только может потребовать от коннекта к БД.
ODBC драйвер - драйвер подключения втиснутый в стандарт ODBC. Минус - возможно некоторые фичи БД не доступны. Плюс - стандартный интерфейс.

По скорости доступа разницы нет. По простоте работы - ODBC абсолютный лидер.
Ни одна из супер-крутых фич которые есть в native драйверах, но нету в ODBC - ни разу в реальной жизни не пригодилась :)
31 янв 07, 01:33    [3716611]     Ответить | Цитировать Сообщить модератору

 Re: Прямое соединение с БД Advantage (без ODBC)  [new]
GreenStar 
Member

Откуда: 
Сообщений: 267
Добрый день!

2 Anonymous developer

Отвечаю по своему опыту:
ADS - замечательная вещь. Если вы работаете с Delphi, то вы действительно можете работать без ODBC или OLE DB. Для этого вам необходимо скачать компонент TDataSet от ADS. Можно скачать с сайта разработчика или [url=http://]www.hotsoft.ru, лучше со второго.

Сразу рекомендую скачать также последнюю версию ADS 8.1, а также ARC (advantage data architect) для разработки структуры БД. Новое в последней версии (кратко):
- поддержка соединения по TCP/IP протоколу (при использовании удаленного сервера)
- UDF
- SQL PSM (Script) 
Если найдете серверную часть, то еще лучше.

Сложностей при программировании на ADS в Delphi никаких нет. Все преимущество ADS проявляются при использовании родного формата таблиц - ADT и словаря данных (.add). Лучше сразу же отказаться от DBF, т.к. очень много возможностей при работе с DBF недоступны.
Недавно написал одну программу (Delphi 7). Впечатления очень положительные, нет, не правда отличные! Так вот, все бизнес процессы написаны на внутреннем скриптовом языке, почти что никакой обработки данных в Delphi (все на стороне БД).
Также в ADS можно написать stored procedures, триггера, указывать ссылочную целостность, выдавать пользователям сообщение (например, если пользователь не ввел значение в обязательное поле, и не только).
Один недостаток: нет книг и документации на русском языке. Но зато есть замечательный хелп на английском. Если вы знаете английский, то уверен что не разочаровываетесь при выборе данного софта.
31 янв 07, 06:46    [3716773]     Ответить | Цитировать Сообщить модератору

 Re: Прямое соединение с БД Advantage (без ODBC)  [new]
Anonymous developer 
Guest
GreenStar
Добрый день!
ADS - замечательная вещь. Если вы работаете с Delphi, то вы действительно можете работать без ODBC или OLE DB. Для этого вам необходимо скачать компонент TDataSet от ADS. Можно скачать с сайта разработчика или [url=http://]www.hotsoft.ru, лучше со второго.

Сразу рекомендую скачать также последнюю версию ADS 8.1, а также ARC (advantage data architect) для разработки структуры БД. 


Я же написал, что используется ALS(Advantage Local Server) и ADS мне не понадобится :)
И еще вопрос - а у вас остались какие-либо sql-скрипты для создания таблиц, триггеров или хранимых процедур в Advantage? Было-бы здорово взглянуть на них, ведь синтаксис SQL наверное весьма специфичный....
Вообще, Advantage имеет какой-нибудь tool для создания пользователей и выполнения sql-скриптов и комманд SQL, по типу SQL*Plus для Oracle?

Заранее спасибо.
31 янв 07, 12:59    [3718841]     Ответить | Цитировать Сообщить модератору

 Re: Прямое соединение с БД Advantage (без ODBC)  [new]
GreenStar 
Member

Откуда: 
Сообщений: 267
Прочитай доки. Там все очень подробно изложено
31 янв 07, 15:28    [3720112]     Ответить | Цитировать Сообщить модератору

 

-