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

Вниз

Oracle. Импорт из дампа только таблиц с неким префиксом.   Найти похожие ветки 

 
SergP.   (2006-07-31 17:31) [0]

Вопрос конечно не связаный с Дельфи,но надеюсь что кто-нить поможет.

Имеется дамп. Нужно из него импортировать таблицы только те которые имеют префикс LAW_

Вариант с tables=(..перечень таблиц..) не проходит, так как я не знаю количество и имена всех таких таблиц, а вычислять их по дампу долго и нудно и можно что-нить пропустить случайно...

Что-то типа tables=(LAW_*) Оракл не понимает.

Подскажите как мне можно сделать требуемое....


 
Desdechado ©   (2006-07-31 17:58) [1]

Дамп по одной схеме или по пачке?
А вариант "втянуть все, убить лишнее" не подходит?


 
SergP.   (2006-07-31 18:04) [2]

> [1] Desdechado ©   (31.07.06 17:58)
> Дамп по одной схеме или по пачке?
> А вариант "втянуть все, убить лишнее" не подходит?


Не совсем понял что значит "по пачке". Ну да ладно.
Вобщем в схеме имеются таблицы... в том числе в дампе есть таблицы совпадающие по имени с теми что есть в схеме (Их кстати не нужно импортировать)... Нужно из дампа "втянуть" только с префиксом LAW_ , не трогая имеющиеся таблицы и "не втягивая" лишнего мусора...


 
SergP.   (2006-07-31 18:06) [3]

Разве что можно временно создать еще одну схему, "втянуть" дамп, поудалять лишние таблицы, сделать дамп и "втянуть" его в первую схему.


 
SergP.   (2006-07-31 18:06) [4]

Но это геморойно


 
Desdechado ©   (2006-07-31 18:14) [5]

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


 
Desdechado ©   (2006-07-31 18:15) [6]


> Не совсем понял что значит "по пачке".

Дамп может содержать объекты не обязательно одной схемы.


 
SergP.   (2006-07-31 18:18) [7]

> [6] Desdechado ©   (31.07.06 18:15)
>
> > Не совсем понял что значит "по пачке".
> Дамп может содержать объекты не обязательно одной схемы.


Не.  в дампе объекты одной схемы...


> [5] Desdechado ©   (31.07.06 18:14)
> думаю, правильнее будет все-таки узнать список нужных таблиц
> и их перечислить явно


Как єто можно сделать не импортируя дамп в какую-нить схему?
Вручную искать геморойно, тем более что дамп сравнительно большой...
порядка 200 мб...


 
Desdechado ©   (2006-07-31 18:22) [8]

искать CREATE TABLE


 
SergP.   (2006-07-31 18:49) [9]

> [8] Desdechado ©   (31.07.06 18:22)
> искать CREATE TABLE


Наверное придется так и сделать...
Ладно. Щас на Дельфях напишу что-нить чтобы "вытянуть" из дампа список имен требуемых таблиц.


 
SergP.   (2006-07-31 19:11) [10]

Вобщем написал:


function LoadFromFile(const Filename:string):string;
var
 SizeStr:integer;
begin
with TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite) do
 try
   SizeStr := Size - Position;
   SetString(Result, nil, SizeStr);
   Read(Pointer(Result)^, SizeStr);
 finally
   Free;
 end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 s:string;
 n:integer;
 p:integer;
begin
 s:=LoadFromFile("etalon.dmp");
 while true do
 begin
   n:=pos("CREATE TABLE "E_LAW",s);
   if n<1 then break;
   n:=n+13;
   delete(s,1,n);
   p:=pos(""",s)-1;
   memo1.lines.add(copy(s,1,p));
   Application.ProcessMessages;
 end;
end;


получил список таблиц с префиксом E_LAW
но он большой... Около 1,5 кб...
Смогу ли я  "запендярить" в командной строке, типа imp ... tables=(...) ?


 
Petr V. Abramov ©   (2006-07-31 23:12) [11]

на pl/sql сформироваить скрипт. Ну или его половину, std часть добавить руками.

> импортировать таблицы только те которые имеют префикс LAW_
 что за база-то, раскажи, если не конфиденциально


 
Sergey13 ©   (2006-08-01 10:26) [12]

2 [10] SergP.   (31.07.06 19:11)
> Смогу ли я  "запендярить" в командной строке, типа imp ... tables=(...) ?
Можно вроде через PARFILE. Т.е. в нем указать tables=(...), а в командной строке приделать этот файл.


 
SergP.   (2006-08-01 10:54) [13]

Все оказалось очень просто... Я решил попробовать %. Сработало...

типа
imp xxx/xxx@xxx file="etalon.dmp" tables=(E_LAW%)


 
SergP.   (2006-08-01 11:01) [14]

> что за база-то, раскажи, если не конфиденциально


Ну это вобщем БД налоговой инспекции. В данном случае схема с эталонными справочниками...


 
ANB ©   (2006-08-01 11:06) [15]


> Ну это вобщем БД налоговой инспекции.

Они еще на оракле ? Тогда к вам приедут конвертаторы из нижнего :)


 
SergP.   (2006-08-01 11:11) [16]

> Они еще на оракле ? Тогда к вам приедут конвертаторы из
> нижнего :)


Не приедут... Это Украина...



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

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

Наверх




Память: 0.48 MB
Время: 0.014 c
1-1155808591
Dexter12345
2006-08-17 13:56
2006.10.01
Экспорт в OpenDocument через Delphi


2-1158043349
Priest
2006-09-12 10:42
2006.10.01
Как прорисовать массив на канве


15-1158054448
комар
2006-09-12 13:47
2006.10.01
кодировка


2-1157753935
markers
2006-09-09 02:18
2006.10.01
Ускарение создание компонентов в RUN-TIME


4-1148591354
Fluffy
2006-05-26 01:09
2006.10.01
Как получить список файлов, открытых определенным процессом?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский