Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.12.02;
Скачать: [xml.tar.bz2];

Вниз

firebird ->Oracle   Найти похожие ветки 

 
Petr V. Abramov ©   (2007-10-27 16:53) [0]

есть ли какой-нить gateway для доступа из Oracle к базе fb?
данные нужны на чтение, гонять через txt - неохота.
Спасибо.


 
jack128 ©   (2007-10-27 16:56) [1]

Накатать несколько udf, которые бы подключались в базе FB, вытягивали оттуда данные и закрывали бы конект - проблемы не составляет, я думаю..


 
jack128 ©   (2007-10-27 17:03) [2]

А вообще учитывая твой прошлый вопрос про MSSQL - может имеет смысл универсальный ADO-gateway поискать? ;-)


 
Petr V. Abramov ©   (2007-10-27 17:30) [3]

> jack128 ©   (27.10.07 16:56) [1]
пока их напишешь...
а из fb писать в dbf или, хрен с ним, в txt - есть какие-нить отностительно штатные ср-ства?


 
jack128 ©   (2007-10-27 17:40) [4]


> отностительно штатные ср-ства?

если под "штатными" имеются в виду - те, что идут в официальном инсталяторе вместе с сервером - то нет. В txt/xls/csv/xml/dbf и еще тучу форматов мона из IBExpert"a (для ExUSSR - free)


 
Petr V. Abramov ©   (2007-10-27 18:00) [5]

а external tables - в них писать можно?
вроде я что-то такое делал, но даже где читать про это не помню за давностью


 
jack128 ©   (2007-10-27 18:03) [6]


> а external tables - в них писать можно?
> вроде я что-то такое делал, но даже где читать про это не
> помню за давностью

можно.  

> где читать про это не помню за давностью

дока + ibase.ru - наше всё.


 
tesseract ©   (2007-10-27 19:20) [7]


> А вообще учитывая твой прошлый вопрос про MSSQL - может
> имеет смысл универсальный ADO-gateway поискать? ;-)


ИМХО ему бы сеть БД нормализовать. А то тут Oracle, в одной комнате MSSQL  в соседней - Interbase.


 
Petr V. Abramov ©   (2007-10-27 19:30) [8]

> tesseract ©   (27.10.07 19:20) [7]
так тем и занимаюсь. но сразу же всех зверей не постреляешь :)


 
kaif ©   (2007-10-28 00:30) [9]

Кажется, это можно сделать через JDBC драйвер для Firebird +  механизхмы data link ORACLE, которые позволяют связаться с чем угодно, хоть с чертом лысым.


 
все о плоттерах   (2007-10-28 00:41) [10]

> JDBC драйвер
надеюсь, ктулху поможет раньше, чем к таким мерам придется прибегнуть :)


 
Petr V. Abramov ©   (2007-10-28 00:42) [11]

[10] - (c) мое :)


 
Игорь Шевченко ©   (2007-10-29 10:54) [12]

IBExpert - это хорошо, но он не умеет много данных выгружать. Для мелких таблиц вообще проблем нету - экспортируешь в набор INSERT-ов и таракан в западне. А крупные таблицы я так им и не смог выгрузить - ломается, гад.
Впрочем, и BDE и dbExpress тоже ломаются. И ADO.


 
Правильный_Вася   (2007-10-29 11:46) [13]


> А крупные таблицы я так им и не смог выгрузить - ломается, гад.

крупные - это сколько?


 
Игорь Шевченко ©   (2007-10-29 11:50) [14]

Правильный_Вася   (29.10.07 11:46) [13]

Крупные - это дофига. Ломается на паре-тройке сотен тысяч записей.
Всего в таблице может быть до десятка миллионов записей, таблица такая не одна, так что скучно.


 
megabyte ©   (2007-10-29 12:59) [15]

Я из FB в MySQL делал переброску данных через csv-формат :)


 
sniknik ©   (2007-10-29 13:21) [16]

> Крупные - это дофига. Ломается на паре-тройке сотен тысяч записей.
маловато чтото... или таблица "широкая"?

> Всего в таблице может быть до десятка миллионов записей
ADO у меня даже из access в MSSQL (не говоря о других с не родными провайдерами) больше 5 миллионов за раз не тянул, когда запросом переброска, но не "ломался" а типа в "даун" уходил через какоето время после старта, делает чтото но крайне медленно, загрузка системы падала почти до 0 и записи начинали добавляться по 2-3 в минуту... (время начала "дауна" наверняка завязано на то когда рекордсет перестал в память помещаться и начал активно "свопится")

> таблица такая не одна, так что скучно.
выход (один из), однонаправленный рекордсет на чтение, запись делать инсертами по мере считывания первого. так, хотя и дольше вначале, но стабильно на все время копирования, "даун" не наступал. копировать блоками в запросах, по миллиону например, я тогда не мог, таблица была с "естественным" ключом (вернее с гуидом вместо автоинкремента) и определить примерно миллион типа от сих до сих я не мог.


 
Petr V. Abramov ©   (2007-10-29 13:33) [17]

> sniknik ©   (29.10.07 13:21) [16]
а commit почаще не спасал?


 
jack128_   (2007-10-29 13:39) [18]


> Ломается на паре-тройке сотен тысяч записей.

600 тысяч записей - влет(ну относительно, пару минут, может, не засекал).  При этом память занимаемая процепссом IBExpert.exe не увеличивалась(держалась на уровне 45МБ, при этом сам результирующий скрипт весил 130метов).
Вообще не понятно чему там ломаться то... Очевидно, что все данные не в память выгружаются, а сразу в файл пишутся, либо используется совсем небольшой кеш..

PS надеюсь данные в файл, а не в редактор скриптов выгружались? :-D


 
Игорь Шевченко ©   (2007-10-29 13:47) [19]

sniknik ©   (29.10.07 13:21) [16]


> маловато чтото... или таблица "широкая"?


Достаточно широкая.


> выход (один из),


Выход (один из) - написать программку, которая из этих толстых таблиц порциями по foreign key читает. Благо на один foreign key до 1000 записей приходится, что нестрашно. Но неудобно.

jack128_   (29.10.07 13:39) [18]


> 600 тысяч записей - влет(ну относительно, пару минут, может,
>  не засекал).  При этом память занимаемая процепссом IBExpert.
> exe не увеличивалась(держалась на уровне 45МБ, при этом
> сам результирующий скрипт весил 130метов).
> Вообще не понятно чему там ломаться то... Очевидно, что
> все данные не в память выгружаются, а сразу в файл пишутся,
>  либо используется совсем небольшой кеш..


Запись записи люпус эст. По крайней мере наблюдаемое поведение я озвучил. Написанная программа с использованием BDE, IBX, dbExpress и ADO
тоже не смогла выгрузить в текстовый файл всю большую таблицу целиком, об чем полтора года назад мною была заведена ветка на delphimaster в разделе "Базы".


> PS надеюсь данные в файл, а не в редактор скриптов выгружались?
>  :-D


Правильно надеешься.


 
Desdechado ©   (2007-10-29 13:48) [20]

> Ломается на паре-тройке сотен тысяч записей.
Выгружал пару миллионов не очень широкой таблицы, проходило. jack128_   (29.10.07 13:39) [18] верно говорит.


 
Игорь Шевченко ©   (2007-10-29 13:51) [21]

Desdechado ©   (29.10.07 13:48) [20]

Ну не могу же по паре столбцов выгружать :) В таблице порядка 50 столбцов, включая блобы.


 
Petr V. Abramov ©   (2007-10-29 13:55) [22]

> включая блобы.
а вот Вы и попались, Штирлиц


 
Игорь Шевченко ©   (2007-10-29 14:05) [23]

Petr V. Abramov ©   (29.10.07 13:55) [22]

В блобах есть данные. Но немного. Их тоже следует убивать.


 
jack128_   (2007-10-29 14:28) [24]

Хе. Да, с блобами что то не так.  Таже табличка на 600кило записей, в ней есть блобовое поле, но я его в первый раз не выгружал.  Щас поставил галку выгружать блоб и ibe при выгрузке стал дико жрать память..  При этом простейшее тестовое приложение так память не жрет..

var
 S: TMemoryStream;
 F: TIBXSQLVAR;
begin
 S := TMemoryStream.Create;
 try
   IBSQL1.SQL.Text := "select * from my_table";
   IBSQL1.ExecQuery;
   F := IBSQL1.FieldByName("DATA"); // DATA - блобовое поле
   while not IBSQL1.Eof do
   begin
     F.SaveToStream(S);
     S.Size := 0;
     IBSQL1.Next;
   end;
 finally
   S.Free;
 end;
end;


Надо Хвастунову баг-репорт накатать ..


 
sniknik ©   (2007-10-29 16:34) [25]

> а commit почаще не спасал?
??? какой комит почаще? на одном запросе (там написано как делалось), и при принципиальной невозможности разделить на "порции" (тоже сказано).

> из этих толстых таблиц порциями по foreign key
у меня не было и такого естественного "делителя". ;(


 
Petr V. Abramov ©   (2007-10-29 16:40) [26]

> sniknik ©   (29.10.07 16:34) [25]
ну да (:



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2007.12.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.053 c
15-1193135552
Fregl
2007-10-23 14:32
2007.12.02
Отображение графиков в реальном времени


15-1193592150
SQL555
2007-10-28 20:22
2007.12.02
Помогите с SQL! Заранее спасибо!


15-1194178514
andreoman
2007-11-04 15:15
2007.12.02
как читать чужиее смс


15-1194000098
de.
2007-11-02 13:41
2007.12.02
Cursor


9-1163701567
SergP
2006-11-16 21:26
2007.12.02
Писал ли кто-нить когда-нить программу решения сапера?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский