Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SQL в {CONSOLE APPLICATION} [D7, FireBird 2.0]


Страницы:   1 2

h8394E ©   (2006-04-18 02:13:00) 

Доброго времени суток!
Мне надо обралиться к базе данных FireBird 2.0 из моего консольного приложения. Выполнить SQL запрос из переменной типа TStringList и получить ответ. Конечно, можно скачать FIB компоненты и во время выполнения моей программы выделить память и создать их, они-то VCL. Есть ли просто модули какие-нибудь, чтоб быстренько подключиться, дать логин, пароль, выполнить запрос, получить ответ и всё запомнить? А то мне не очень нравится создание DataBase, Querry и Transaction компонентов в консоли...


sniknik   (2006-04-19 15:04:00) [21]

да, с формами (SysUtils, Forms;) - 367 616
для полноты картины.


sniknik   (2006-04-19 15:02:00) [22]

в D7 всетаки, чтото тянут. надо все initialization в модуле просмотреть...

program Project1;
begin
end.
- 14 848

program Project1;
uses
SysUtils;
begin
end.
- 40 448

program Project1;
uses
SysUtils, IBDatabase;
begin
end.
- 285 184

D7соответственно.


atruhin   (2006-04-19 14:47:00) [23]


> нет, не тянут они VCL

Посмотрел, согласен ошибся. Я с ними не работаю по тому и написал - по моему :). В FIB отдельная директива компиляции, но все равно советую их купить, если с FB работать. Причин достаточно.


jack128   (2006-04-19 14:38:00) [24]

Сокол ©   (19.04.06 12:29) [12]
Создавай компоненты в runtime, тормозов нет абсолютно никаких, проверено почти на всех БД, только не используй ADO-компоненты - в консольном приложении с ними есть проблеммы

? Почему?  Если ты забыл com инициализировать, то это еще не проблема..

atruhin ©   (19.04.06 13:13) [15]
Только IB компненты по моему всегда тянут VCL,

нет, не тянут они VCL

program Project3;
uses
 SysUtils, Forms;
begin
end.

занимает 387082, а

program Project3;
uses
 SysUtils, IBDatabase;
begin
end.
304640.  Делай выводы.
PS Delphi2006


atruhin   (2006-04-19 13:13:00) [25]

Нет ни каких проблем с консольным подключением. При запуске программы содаешь и подключаешь Database, остальное по мере надобности. Только IB компненты по моему всегда тянут VCL, поэтому советую купить FIB, там есть опция - не использовать VCL


Сокол   (2006-04-19 12:43:00) [26]

Тормоза при подключении у меня были только с СУБД IBM DB2, работающе по OS/400 на серверах iSeries AS/400, с остальными все нормально. Хотя здесь все еще зависит от железа, на котором работаешь.


Desdechado   (2006-04-19 12:35:00) [27]

я ж говорил - основные тормоза при подключении к БД
если у тебя подключение единожды, то все и без датамодуля работать будет
если оно у тебя для каждого обращения к cgi извне, то будут тормоза в любом случае


Сокол   (2006-04-19 12:29:00) [28]

Создавай компоненты в runtime, тормозов нет абсолютно никаких, проверено почти на всех БД, только не используй ADO-компоненты - в консольном приложении с ними есть проблеммы.


h8394E   (2006-04-19 02:13:00) [29]

А если я DataModule добавлю. Вставлю туда компоненты и подсоединю их ещё в design-time, это ничего не изменит?


h8394E   (2006-04-18 21:15:00) [30]

Вот, PHP подключается к базе данных как раз так, как мне надо! У кого-нить есть исходники PHP?


h8394E   (2006-04-18 18:43:00) [31]

Sergey Masloff,
> Пример на це см. в
> {FBDir}/Examples/Api3.c
>
> Переписать на паскале не проблема но код еще увеличится
> да и заголовки свежие паскалевские искать надо будет


А ты переписать не сможешь? Или может кто знает где найти, а то я в си знаю только что такое
int idiot;


Плохиш   (2006-04-18 18:37:00) [32]


> Мне просто не нужны все эти обработки ошибок, откаты о так
> далее.

> В смысле, когда запускаешь форму, в основном, они-то уже
> подключены к бд.

Неужели кому-то ещё нужны такие программы? 8-O


h8394E   (2006-04-18 18:25:00) [33]

Мне просто не нужны все эти обработки ошибок, откаты о так далее. Мне надо бастрая записть, поиск и чтение из файла.


h8394E   (2006-04-18 18:21:00) [34]

Или, может вы посоветуете, какую, нить базу данных, что б было легко и быстро делать
> создание, подключение, поиск, анализ и получение ответа


h8394E   (2006-04-18 17:57:00) [35]

Desdechado, к сожалению, ни того ни другого я не знаю... Вот, мне с FireBird 2.0 пришла программа - консоль "Firebird ISQL tool". Может мне через пайпы к ней присоединиться и писать туда?


Desdechado   (2006-04-18 17:02:00) [36]

если на каждое обращение ты с нуля все пересоздаешь, то долго (причем основное время - подключение)
посмотри в сторону веб-сервиса, постоянно висящего и держащего подключение (или пул подключений)


h8394E   (2006-04-18 16:53:00) [37]

А будет ли это достаточно быстро? В смысле, когда запускаешь форму, в основном, они-то уже подключены к бд. А тут - время на создание, подключение, поиск, анализ и разрешение. Просто моя консоль как cgi подапачем выполняется.


Desdechado   (2006-04-18 11:30:00) [38]

TDatabase и TQuery вовсе не обязательно бросать на форму или датамодуль, чтоб ими воспользоваться
достаточно сделать
qry:=TQuery.Create( Application ) // зацепит в себя модуль Forms
или
qry:=TQuery.Create( nil ) // нет хозяина у компонента, ОБЯЗАТЕЛЬНО вручную разрушать

и в finally сделать таким Free


Sergey Masloff   (2006-04-18 06:12:00) [39]

h8394E   (18.04.06 02:13)  
>А то мне не очень нравится создание DataBase, Querry и Transaction компонентов в консоли...
Почему? Им параллельно где их создают.

Напрямую можно используя клиентский API InterBase. Я тут приводил как-то примитивный код. Спрашивавший решил что ну его на фиг лучше создать компоненты ;-)))

Пример на це см. в
{FBDir}/Examples/Api3.c

Переписать на паскале не проблема но код еще увеличится да и заголовки свежие паскалевские искать надо будет


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо