Форум: "Базы";
Текущий архив: 2003.09.29;
Скачать: [xml.tar.bz2];
Вниз
Как из клиентской программы создать новую таблицу IB Найти похожие ветки
← →
alextim (2003-09-07 18:26) [0]Мастера подскажите плиз как средствами какого-либо компонента delphi создать на сервере firebird новую таблицу не используя isql.exe
← →
Sergey_Masloff (2003-09-07 19:28) [1]Любой компонент позволяющий выполнить команду SQL подойдет. Ну TIBQuery например. Create table пишешь и все. В чем проблема?
← →
Sergey_Masloff (2003-09-07 19:29) [2]Да, кстати если ты собираешься эмулировать временные таблицы то не стоит. Для IB ищи другое решение.
← →
Жук (2003-09-08 11:21) [3]Чем плохо это ?
← →
Sergey_Masloff (2003-09-08 12:12) [4]Жук © (08.09.03 11:21) [3]
>Чем плохо это ?
Если коротко - то ВСЕМ. Если длинно то надо писать статью, а чего ее писать когда их полно понаписано все равно никто не читает. Вобщем, поверь на слово, чтоли...
← →
Жук (2003-09-08 13:21) [5]"Не верю !" (с) :-)
Хоть урлу кинь, плз.
← →
Anatoly Podgoretsky (2003-09-08 13:29) [6]Да чего далеко ходить, пример есть в справке по Local SQL и аналогичный пример есть в справке по IB
← →
Sergey_Masloff (2003-09-08 13:42) [7]Жук © (08.09.03 13:21) [5]
>"Не верю !" (с) :-)
>Хоть урлу кинь, плз.
www.ibase.ru
Ну хотя бы то что созданную таблицу ты не увидишь пока не закроешь а потом снова откроешь соединение. Что ИМХО делает попытку использования такой таблицы как временной просто бредом.
← →
Sergey_Masloff (2003-09-08 13:48) [8]Anatoly Podgoretsky © (08.09.03 13:29) [6]
>Да чего далеко ходить, пример есть в справке по Local SQL и >аналогичный пример есть в справке по IB
Настоящие дельфисты справку не читают. Гораздо проще задать вопрос на форум и подождать пару дней чем убить 15 минут на прочтение справки ;-)
← →
Zacho (2003-09-08 13:51) [9]
> Sergey_Masloff (08.09.03 13:42) [7]
Не, не до переподключения, а до commit"а.
← →
Жук (2003-09-08 14:16) [10]
> Zacho © (08.09.03 13:51) [9]
>
> Не, не до переподключения, а до commit"а.
Вот именно ! Делаем таблицу, коммитим транзакцию и вперёд !
Что тут криминального ?
← →
Zacho (2003-09-08 14:22) [11]
> Жук © (08.09.03 14:16) [10]
Да ничего особого, но жутко неудобно И тормозно. Да и нужны ли вообще временные таблицы, если есть FOR SELECT ?
← →
Sergey_Masloff (2003-09-08 14:32) [12]Zacho © (08.09.03 13:51) [9]
>Не, не до переподключения, а до commit"а.
Да, тут я наверное погорячился ;-)
← →
NDeu (2003-09-08 14:50) [13]
> Да ничего особого, но жутко неудобно И тормозно
Кроме того, ест ограничения сколько раз можно такого делат без б/р
← →
Жук (2003-09-08 14:51) [14]
> Zacho © (08.09.03 14:22) [11]
А из двух баз как for select"oм что-нить вытащить ? ;-)
← →
Zacho (2003-09-09 08:48) [15]
> Жук © (08.09.03 14:51) [14]
Из нескольких баз - только на клиенте. :-)
А какое отношение к этому имеют "временные" таблицы ?
Или имелись в виду EXTERNAL TABLE ?
← →
Жук (2003-09-09 09:11) [16]Не-е. Идея такая : селектишь из "вспомогательной базы" нужную инфу, загоняешь её во временную таблицу "основной базы", делаешь нужные расчёты/выборки (заметь, что напрягается сервер, а не клиент) и грохаешь временную таблу.
← →
HSolo (2003-09-09 09:19) [17]Это делается регулярно? Тогда зачем грохать временную таблицу? Пусть живет, чем она мешает?
← →
Zacho (2003-09-09 09:23) [18]
> Жук © (09.09.03 09:11) [16]
Клиент все равно напрягается, ведь перекачка данных из одной БД во "временную" таблицу другой все равно идет через клиента. Имхо, для таких целей лучше все-же использовать внешние таблицы - тогда действительно напрягаться будет только сервер.
← →
Жук (2003-09-09 09:23) [19]Это пока не делается. Идея - новорожденная, поэтому и заинтересовался этой веткой. А жить таблица не должна, ибо, после нужных расчётов её инфа больше не нужна.
ЗЫ. Ну вот, стихами заговорил :-)
← →
Жук (2003-09-09 09:25) [20]
> Zacho © (09.09.03 09:23)
Что ты называешь "внешней таблицей" ?
← →
Zacho (2003-09-09 09:35) [21]EXTERNAL TABLE. Подробнее смотри в Data Definition Guide, к сожалению у меня сейчас нет под рукой документации.
← →
HSolo (2003-09-09 09:37) [22]> жить таблица не должна, ибо, после нужных расчётов её инфа больше не нужна
Ну и удалите инфу, а таблицу-то за что? :)
А вообще-то, Zacho прав, есть прямой смысл поглядеть в сторону внешних таблиц
← →
Жук (2003-09-09 09:50) [23]
> Zacho ©
> HSolo ©
Спасибо. Посмотрю.
← →
Жук (2003-09-09 10:07) [24]Увы, но внешние таблицы не рулят, т.к. "вспомогательная база" - ReadOnly, а данные для внешней таблицы нужны именно из неё. Что же до постоянного хранения "временной" таблицы в "основной" базе, то хранить новую таблицу ради каждого геторогенного отчёта - излишество, имхо.
← →
HSolo (2003-09-09 10:15) [25]А что, таких отчетов очень много? И информация из "вспом.базы" каждый раз требуется другая?
← →
Жук (2003-09-09 10:37) [26]
> HSolo © (09.09.03 10:15) [25]
1) Пока два :-)
2) Да, каждый раз - разная.
Сделал я, чтоб на клиенте считалось, но тут такие тачки есть - антиквариат, вот и считает минут по десять. Надо было находить выход, вот я и посмотрел в сторону временных таблиц, но Sergey_Masloff (08.09.03 12:12) [4] отговаривает.
На сколько он прав ?
← →
HSolo (2003-09-09 10:56) [27]Во-первых, Zacho © 08.09.03 14:22) [11]: тормозно. Причем уже для сервера, а не для антикварной клиентской машины.
Во-вторых, NDeu © (08.09.03 14:50) [13]: есть ограничения - сколько раз можно это сделать без backup/restore
Если таких отчетов пока 2 - то можно и сделать 2 постоянные таблицы, а там, глядишь, антиквариат заменят :))
← →
Anatoly Podgoretsky (2003-09-09 11:36) [28]Sergey_Masloff (08.09.03 13:48) [8]
Что так долго, наверно с перекурами после прочтения каждого абзаца :-)
Кстати хорошая штука этот самый LocalSql.hlp всегда под рукой и покрывает 90% справки по ANSI SQL 92
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.09.29;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.01 c