Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.01;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.037 c
15-1157694584
Ega23
2006-09-08 09:49
2006.10.01
С Днём рождения! 8 сентября


2-1157712853
v_o_v_a
2006-09-08 14:54
2006.10.01
класс TStringList


15-1157904176
Дед Маздай
2006-09-10 20:02
2006.10.01
Изменить размер формы динамически


15-1157876075
kull
2006-09-10 12:14
2006.10.01
Какой браузер лучше?


15-1158064876
Некто
2006-09-12 16:41
2006.10.01
А у нас тут взрыв в соседнем доме.... сидим, боимся....