ibase API

IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.

Модератор: kdv

mhalion
Сообщения: 23
Зарегистрирован: 18 ноя 2007, 18:38

ibase API

Сообщение mhalion » 19 июн 2008, 10:16

Для взаимодействия с базой InterBase 7.5 использую ibase API:
isc_compile_request, isc_start_and_send. Т.е. процедуркой isc_compile_request компилирую BLR запрос и далее выполняю его isc_start_and_send'м.
Проблема в том что я не могу разобрать с синтаксисом BLR. Может существует какая-нибудь утилита для формирования BLR из SQL запроса? Я попробовал использовать BLR из procedure который храниться в RDB$PROCEDURES, но он не выполняет, т.е. выполняется, но ничего не происходит. У кого есть подскажите доки по BLR.

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Сообщение hvlad » 19 июн 2008, 11:02

Если не можешь понять BLR, то чего пользуешь низкоуровневое API ?
Нужен тебе ESQL и gpre.

mhalion
Сообщения: 23
Зарегистрирован: 18 ноя 2007, 18:38

Сообщение mhalion » 19 июн 2008, 11:07

hvlad писал(а):Если не можешь понять BLR, то чего пользуешь низкоуровневое API ?
Нужен тебе ESQL и gpre.
Дело в том что я пишу не с нуля, а у меня уже есть определенная часть написанная как раз с помощью BLR. Так есть что-нибудь по BLR???

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Сообщение hvlad » 19 июн 2008, 11:24

mhalion писал(а):
hvlad писал(а):ESQL и gpre.
Дело в том что я пишу не с нуля, а у меня уже есть определенная часть написанная как раз с помощью BLR. Так есть что-нибудь по BLR???
Чукча не читатель ?

mhalion
Сообщения: 23
Зарегистрирован: 18 ноя 2007, 18:38

Сообщение mhalion » 19 июн 2008, 11:33

hvlad писал(а):Чукча не читатель ?
:) Спасибо за подсказку. Но не могли бы вы подсказать насчет дальнейших действий с Embedded SQL и gpre??? Как с их помощью получить необходимые BLR???

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 19 июн 2008, 11:40

mhalion писал(а):насчет дальнейших действий с Embedded SQL и gpre???
Я бы начал с чтения документации по ним.
На этом сайте, в разделе "документация".

mhalion
Сообщения: 23
Зарегистрирован: 18 ноя 2007, 18:38

Сообщение mhalion » 19 июн 2008, 11:45

WildSery писал(а):Я бы начал с чтения документации по ним.
На этом сайте, в разделе "документация".
Дело не в том что я не знаю что это такое, а в том что я не понимаю как они мне помогут получить BLR. Может я и не собираюсь разбираться в тонкостях... Вот, например, причем тут Embedded SQL? Он вообще ненужен. Я не знаю как перевести обыкновенный SQL запрос в BLR. Вот и всё.

mhalion
Сообщения: 23
Зарегистрирован: 18 ноя 2007, 18:38

Сообщение mhalion » 19 июн 2008, 11:47

mhalion писал(а):Дело не в том что я не знаю что это такое, а в том что я не понимаю как они мне помогут получить BLR. Может я и не собираюсь разбираться в тонкостях... Вот, например, причем тут Embedded SQL? Он вообще ненужен. Я не знаю как перевести обыкновенный SQL запрос в BLR. Вот и всё.
Изыните. Погоречился.

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 19 июн 2008, 11:59

mhalion писал(а):Я не знаю как перевести обыкновенный SQL запрос в BLR. Вот и всё.
Как раз с помощью GPRE ;)

mhalion
Сообщения: 23
Зарегистрирован: 18 ноя 2007, 18:38

Сообщение mhalion » 19 июн 2008, 12:04

Спасибо:)

mhalion
Сообщения: 23
Зарегистрирован: 18 ноя 2007, 18:38

Сообщение mhalion » 19 июн 2008, 12:37

Подскажите по компилированию SQL запроса с помощью gpre.
Не нашел ниодного примера компилирования SQL запроса. gpre позволяет компилировать программы написанные на каком-то базовом языке со встроенными SQL инструкциями и я получаю просто exe.
Пусть у меня есть база c:\ib\sample.gdb
Есть запрос SELECT * FROM SAMPLE_TBL
Как будет выглядить файл sample.e и какой инструкцией его скомпилить?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 19 июн 2008, 12:58

замучил, ей-богу :)
gpre не производит exe. gpre это препроцессор из *.e в *.c. Поэтому "не нашел ни одного примера" - гон. Я тебе уже указал на папку examples.
Там даже есть ПОДПАПКА GPRE с этими файлами (например, чем тебе не понравился stat2.e ?).
на каком-то базовом языке
это и есть embedded sql.

mhalion
Сообщения: 23
Зарегистрирован: 18 ноя 2007, 18:38

Сообщение mhalion » 19 июн 2008, 13:14

kdv писал(а):замучил, ей-богу :)
АХАХА!:) Ну а как ещё то? Я уже не могу с этими blr'ами, InterBase'ами и т.д. ДА нашел я эту папку. ПРосто не компилится:
stat2.e и employee.gdb копирую в одну папку. Выполняю gpre -database employee.gdb stat2.e и получаю unavailable database.

belov-evgenii
Сообщения: 52
Зарегистрирован: 28 сен 2007, 10:19

Сообщение belov-evgenii » 19 июн 2008, 13:23

mhalion писал(а):Выполняю gpre -database employee.gdb stat2.e и получаю unavailable database.
И под какой учеткой оно подключается?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 19 июн 2008, 13:37

unavailable database
www.ibase.ru/ibfaq.htm#unavail

ты или брось это дело, или ...

mhalion
Сообщения: 23
Зарегистрирован: 18 ноя 2007, 18:38

Сообщение mhalion » 19 июн 2008, 13:58

gpre -database localhost:D:\employee.gdb -user SYSDBA -password masterkey stat2.e и вылезает "Your user name and password are not defined. Ask your database administrator to
set up an InterBase login". Хотя если регить базу в IBConsole или в IBExpert, то всё нормально регится

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Сообщение hvlad » 19 июн 2008, 14:16

Всё это описано в соотв. доке.
У тебя легальный IB 7.5 ? Открой книжицу, и почитай.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 19 июн 2008, 14:17

какие мучения-то... :)
попробуй в консоли, где ГПРЕ запускаешь, перед запуском сделать

set ISC_USER=SYSDBA
set ISC_PASSWORD=masterkey
а из командной строки юзера и пароль убрать

mhalion
Сообщения: 23
Зарегистрирован: 18 ноя 2007, 18:38

Сообщение mhalion » 19 июн 2008, 14:23

Гигантское спасибо за помощ! Я знал что вы хорошие и добрые:) Просто на самом деле долго бился уже над этим и поэтому тяжко. Ещё раз спасибо дальше я сам. уффф

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 19 июн 2008, 14:33

гпре - это ж фактически атавизьм. Если не для исходников сервера, то для создания приложений - почти на 99%. Отсюда всякие странности.

Ответить