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

Вниз

FB 1.5 Создания БД программно.   Найти похожие ветки 

 
BanderLog   (2004-10-11 12:24) [0]

Привет мастерам. Мне необходимо, что бы моя программа созадвала нужную мне БД и заполняла её данными из исходной БД. Как это реализовать? Либо как бы реализовать процедуру создания БД в хранимой процедуре исходной БД.


 
Romkin ©   (2004-10-11 12:49) [1]

Самое простое - просто использовать ISQL. Подаешь на вход скрипт - оно все сделает


 
Sergey13 ©   (2004-10-11 12:51) [2]

2BanderLog   (11.10.04 12:24)
А имеет вообще смысл плодить БД, уже имея исходную?


 
Zacho ©   (2004-10-11 13:00) [3]

В хранимой процедуре - никак. Ну, конечно, можно придумать извращения с UDF, к-рая и будет создавать БД, но это надо ???
А вообще, есть несколько вариантов. Например:
1. С помощью чего-нибудь (isql.exe, IBEScript.exe,  компонетнты из IBX или FIBPlus) выполнить скрипт, к-рый это сделает.
2. Скопировать "эталонную" БД.
3. IB API
4. Может ещё кто-нибудь что-то придумает...


 
BanderLog   (2004-10-11 13:58) [4]

Спасибо.... Значит все таки скрип isql передавать. Жаль. А смысл плодить базы - есть.


 
Павел   (2004-10-11 15:33) [5]

Database.Connected := False;
 Database.DBName := path;
 //Database.SQLdialect := 3;
 Database.DBParams.Clear;
 Database.DBParams.Add("USER ""SYSDBA""");
 Database.DBParams.Add("PASSWORD ""masterkey""");

 try
   Database.CreateDatabase;
 except
   //Application.MessageBox("Error during creation database",
   //  "Error", MB_OK + MB_ICONSTOP);
 end;
 Database.Connected := False;

 Database.DBParams.Clear;
 Database.DBParams.Add("user_name=SYSDBA");
 Database.DBParams.Add("password=masterkey");
 Database.Connected := True;

{================ CREATE TABLE ================}
 trRead.StartTransaction;
 Query.SQL.Clear;
 Query.SQL.Add( "CREATE TABLE TEST (" );
 Query.SQL.Add( "ID INTEGER NOT NULL PRIMARY KEY," );
 Query.SQL.Add( "DESCRIPTION  VARCHAR(15));" );
 try
   Query.ExecQuery;
 except
 end;
 trRead.Commit;

ну и так далее


 
Zacho ©   (2004-10-11 15:50) [6]

Павел   (11.10.04 15:33) [5]
Вообще-то, прежде чем постить такой код, следовало бы, как минимум, сказать, что такое Database, trRead и Query. А то с телепатами напряг, как обычно...

=8-()


 
Zacho ©   (2004-10-11 15:59) [7]


> Sergey13 ©   (11.10.04 12:51) [2]

Имеет, почему-то :) для меня это было стандартной задачей.
Решение - или копирование "эталонной" БД, или выполнение скрипта посредством isql.exe


 
Sergey13 ©   (2004-10-11 16:18) [8]

2[7] Zacho ©   (11.10.04 15:59)
Да меня в вопросе смутила фраза "и заполняла её данными из исходной БД". Т.е., как я понял, еще и данные надо перекачать. Что то смахивает на создание локальной копии  для внутреннего пользования. Я и усомнился в наличии смысла.


 
Zacho ©   (2004-10-11 16:22) [9]

Sergey13 ©   (11.10.04 16:18) [8]
А, ну это уже на репликацию похоже.
Может, автору ветки поможет http://www.ibase.ru/develop.htm раздел "Репликация" ?


 
Sergey13 ©   (2004-10-11 16:26) [10]

2[9] Zacho ©   (11.10.04 16:22)
>А, ну это уже на репликацию похоже.
А фиг знает на что это похоже. 8-)


 
BanderLog   (2004-10-12 05:55) [11]

2Павел: Огромное пасибы, именно то что надо. И как сам не нашел, ведь искал иммено там :(

2Sergey13: Извини, не дописал "необходимыми данными из исходной БД". На самом деле из исходной БД выбираются необходимые данные и отсылаются в другую контору на жестком носителе, потому что их объем от 100 и более метров. А исходной - гиг.



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

Текущий архив: 2004.11.14;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.042 c
14-1098623973
Verg
2004-10-24 17:19
2004.11.14
А какой сегодня церковный празник?


1-1099157002
S11.lhs7fy
2004-10-30 21:23
2004.11.14
Как отобразить строку в HEX


14-1098612844
blackweber
2004-10-24 14:14
2004.11.14
Лункуксоиды хелп!!!


14-1098636223
StarkO
2004-10-24 20:43
2004.11.14
ЖСК - квартирный вопрос


14-1098196845
able
2004-10-19 18:40
2004.11.14
avi2scr & scr поставить, как стандартный ScreenSaver