Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как выгрузить результат процедуры в .dbf? / 14 сообщений из 14, страница 1 из 1
14.08.2015, 10:33
    #39029258
Melafon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выгрузить результат процедуры в .dbf?
Добрый день! Возникла необходимость выгрузить из базы FB 2.5 в каком-то формате результаты процедуры (в csv или dbf) На выходе более 10 млн записей, есть только IBExpert и Excel. возможности установить доп ПЗ нет. Попробовал через меню когда открыта процедура, выгружает около 300 тыс. и ошибка. Это возможно как то сделать? Или перелить результат в другую базу?
...
Рейтинг: 0 / 0
14.08.2015, 11:05
    #39029279
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выгрузить результат процедуры в .dbf?
Melafon,

IBE является 32 битной программой и она тупо обжирается памятью при попытке прокрутить такой датасет до конца.

Можно попробовать через скрипт в IBE

Код: sql
1.
2.
3.
4.
5.
6.
7.
EXECUTE IBEBLOCK
AS
BEGIN
  SELECT * FROM MYPROC
  EXPORT AS DBF INTO 'D:\TestExport.dbf'
  OPTIONS 'ConvertToDOS; LongStringsToMemo; DateTimeAsDate';
END
...
Рейтинг: 0 / 0
14.08.2015, 11:08
    #39029281
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выгрузить результат процедуры в .dbf?
FBExport установки не требует.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
14.08.2015, 11:36
    #39029306
Melafon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выгрузить результат процедуры в .dbf?
Симонов ДенисMelafon,

IBE является 32 битной программой и она тупо обжирается памятью при попытке прокрутить такой датасет до конца.

Можно попробовать через скрипт в IBE

Код: sql
1.
2.
3.
4.
5.
6.
7.
EXECUTE IBEBLOCK
AS
BEGIN
  SELECT * FROM MYPROC
  EXPORT AS DBF INTO 'D:\TestExport.dbf'
  OPTIONS 'ConvertToDOS; LongStringsToMemo; DateTimeAsDate';
END



Спасибо! как раз гуглю на тему IBEBLOCK, пока гугл не дал ответа....куда писать этот код? Читаю, что нужен IBE Script но найти его не могу. Он в составе IB Expreta? Отдельно надо устанавливать? Не сталкивался с этим
...
Рейтинг: 0 / 0
14.08.2015, 11:37
    #39029307
Melafon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выгрузить результат процедуры в .dbf?
Dimitry SibiryakovFBExport установки не требует.


Спасибо! Скачал разбираюсь..
...
Рейтинг: 0 / 0
14.08.2015, 11:42
    #39029314
Tonal
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выгрузить результат процедуры в .dbf?
Как-то так
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
#! /usr/bin/env python
from contextlib import closing
import csv
import kinterbasdb
def main():
  with closing(kinterbasdb.connect(
    host=host, database=database,
    user='sysdba', password='masterkey',
    dialect=3, charset='UTF8'
  )) as con, open(csv_filename, 'wb') as out:
    curs = con.cursor()
    curs.execute(SQL_TITLES)
    csv.writer(out, delimiter=';').writerows(curs)

if __name__ == '__main__':
  main()
...
Рейтинг: 0 / 0
14.08.2015, 11:45
    #39029317
miwaonline
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выгрузить результат процедуры в .dbf?
Tonal,

kinterbasdb уже много лет как deprecated, вместо него давно следует использовать fdb
...
Рейтинг: 0 / 0
14.08.2015, 11:57
    #39029327
Tonal
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выгрузить результат процедуры в .dbf?
miwaonlinekinterbasdb уже много лет как deprecated, вместо него давно следует использовать fdb
Ну, насколько я понимаю, в скриптике можно заменить kinterbasdb на fdb и будет щастье! :)

А насчёт чего нужно использовать - дык пока с 3-кой не работаешь, разницы по функциональности (с тех пор как добавили работу с event-ами) нет, КМК.
Но вот fdb нету в штатной репе бубунты, а kinterbasdb присутствует - что удобно. :)
...
Рейтинг: 0 / 0
14.08.2015, 12:03
    #39029334
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выгрузить результат процедуры в .dbf?
MelafonСпасибо! как раз гуглю на тему IBEBLOCK, пока гугл не дал ответа....куда писать этот код? Читаю, что нужен IBE Script но найти его не могу. Он в составе IB Expreta? Отдельно надо устанавливать? Не сталкивался с этим
Читай http://www.sql.ru/forum/133383/chitat-vsem-kto-prishel-suda-v-pervyy-raz
http://www.ibexpert.com/rus/IBEScriptDll_sfx.exe
http://www.ibexpert.com/rus/IBEScript_sfx.exe
...
Рейтинг: 0 / 0
14.08.2015, 12:50
    #39029386
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выгрузить результат процедуры в .dbf?
Melafon,

в IBE это выполняется там же где и SQL скрипты
...
Рейтинг: 0 / 0
14.08.2015, 15:36
    #39029565
miwaonline
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выгрузить результат процедуры в .dbf?
Tonalmiwaonlinekinterbasdb уже много лет как deprecated, вместо него давно следует использовать fdb
Ну, насколько я понимаю, в скриптике можно заменить kinterbasdb на fdb и будет щастье! :)

А насчёт чего нужно использовать - дык пока с 3-кой не работаешь, разницы по функциональности (с тех пор как добавили работу с event-ами) нет, КМК.
Но вот fdb нету в штатной репе бубунты, а kinterbasdb присутствует - что удобно. :)
Поскольку убунта - это дебиан со свистоперделками, а в дебе fdb вполне себе есть, то в *бунте он появится в ближайшем релизе. Ну и kinterbasdb как минимум не умеет и не будет уметь работать с обеими "тройками" - как пайтоном, так и файрбердом, что делает его использование безперспективным, а рекомендации использовать - слегка вредными :)
...
Рейтинг: 0 / 0
14.08.2015, 15:48
    #39029575
Melafon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выгрузить результат процедуры в .dbf?
Спасибо всем! попробовал через FBExport, не разобрался с сохранением в формат csv. Написал скрипт IBEBLOCK - переливку из процедуры в таблицу другой БД, НО скорость это капец. 100 тыс. записей 7 мин. Итого больше 12 часов. Можно это дело как то ускорить?
...
Рейтинг: 0 / 0
14.08.2015, 16:04
    #39029595
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выгрузить результат процедуры в .dbf?
Melafon,

нам отсюда не видно. Неизвестно с какой скоростью отдаёт записи твоя ХП, может это она тормозит.
...
Рейтинг: 0 / 0
14.08.2015, 16:06
    #39029596
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выгрузить результат процедуры в .dbf?
Melafon,

я за 7 минуту 4.5 миллиона вытаскивал. Но правда из таблички, а не из процедуры.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как выгрузить результат процедуры в .dbf? / 14 сообщений из 14, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]