Главная страница
    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.47 MB
Время: 0.036 c
1-1098807684
Kotyara
2004-10-26 20:21
2004.11.14
Ошибка в QReport при больших отчетах.


1-1098955339
Cosinus
2004-10-28 13:22
2004.11.14
Заполнение StringGrid в RunTime. Автопрокрутка.


14-1097733984
Skier
2004-10-14 10:06
2004.11.14
Отстал от жизни ! :) Помогите советом !


1-1099047852
Pentium133
2004-10-29 15:04
2004.11.14
TStringList и IniFile


3-1097751557
diabolik_krsk
2004-10-14 14:59
2004.11.14
Проверка наличия таблицы в БД Access через ADOConnection





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