Текущий архив: 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.47 MB
Время: 0.036 c