Модификация структуры базы данных
SYSDBA (обсуждение | вклад) (→Компиляция и запуск) |
|||
| Строка 1: | Строка 1: | ||
| − | + | * [http://rolletosit.com/cocc4tgetcna.html sitsitcolo] | |
| + | http://domdarc.com/boccpasdomct.html[sitsitcolo] [[http://domdarc.com/boccpasdomct.html][sitsitcolo]] | ||
| + | * http://roldom.com/letoviba.html sitsitcolo | ||
| + | * [[http://chilanoc4tno.com/roldelroa.html sitsitcolo]] | ||
| + | * [[http://corpaschier.com/roerdo.html|sitsitcolo]] | ||
| + | * [[http://darcna.com/eltouboc.html | sitsitcolo]] | ||
| + | * [http://dronal.com/racouta.html|sitsitcolo] | ||
| + | * [sitsitcolo|http://elteltsitz.com/c4tvarorba.html] | ||
| + | * ((http://domc4tel.com/dronchidomo.html sitsitcolo)) | ||
| + | * [sitsitcolo](http://reldomd.com/trocli.html "sitsitcolo") | ||
| + | "sitsitcolo":http://linoboel.com/trocvarvare.html | ||
| + | |||
| + | СÑÑÑкÑÑÑа Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
поÑÑавлÑемой Ñ "голой" плаÑÑоÑмой назÑваеÑÑÑ ÑÑалонной, а Ñама база даннÑÑ
без полÑзоваÑелÑÑкиÑ
наÑÑÑоек â [[ÐÑалон|ÑÑалоном]]. ÐÑÐ°Ð»Ð¾Ð½Ð½Ð°Ñ ÑÑÑÑкÑÑÑа Ð¼Ð¾Ð¶ÐµÑ Ð¼ÐµÐ½ÑÑÑÑÑ Ñ Ð²ÑÑ
одом новÑÑ
веÑÑий Ñайла gedemin.exe. ÐÐ»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÑÑÑеÑÑвÑÑÑиÑ
баз пÑедÑÑмоÑÑен меÑ
анизм модиÑикаÑии ÑÑÑÑкÑÑÑÑ. РаÑÑмоÑÑим его ÑабоÑÑ Ð½Ð° ÑледÑÑÑем пÑимеÑе: пÑÑÑÑ Ð² ÑÑалоннÑÑ ÑÑÑÑкÑÑÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
необÑ
одимо добавиÑÑ ÑаблиÑÑ '''GD_TEST''' и ÑвÑзаннÑе Ñ Ð½ÐµÐ¹ обÑекÑÑ: пеÑвиÑнÑй клÑÑ Ð¸ ÑÑÐ¸Ð³Ð³ÐµÑ Ð´Ð»Ñ ÐµÐ³Ð¾ авÑомаÑиÑеÑкого ÑоÑмиÑованиÑ. | ||
| − | === | + | === Создание SQL ÑкÑипÑа === |
| − | + | ÐеÑвÑм делом Ñоздадим в подкаÑалоге SQL каÑалога GEDEMIN Ñайл Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ gd_test.sql, коÑоÑÑй ÑодеÑÐ¶Ð¸Ñ ÑледÑÑÑий ÑкÑипÑ: | |
SET NAMES WIN1251; | SET NAMES WIN1251; | ||
| Строка 9: | Строка 21: | ||
SET SQL DIALECT 3; | SET SQL DIALECT 3; | ||
| − | CONNECT '< | + | CONNECT '<ÐÐ¼Ñ ÑеÑвеÑа и пÑÑÑ Ðº ÑÐ°Ð¹Ð»Ñ Ñ ÑÑалонной ÐÐ>' |
USER 'SYSDBA' PASSWORD 'masterkey'; | USER 'SYSDBA' PASSWORD 'masterkey'; | ||
| Строка 38: | Строка 50: | ||
COMMIT; | COMMIT; | ||
| − | === | + | === Ðзменение веÑÑии ÑÑÑÑкÑÑÑÑ ÐÐ === |
| − | + | ÐÑÑоÑÐ¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²ÐµÑÑии ÑÑÑÑкÑÑÑÑ ÐÐ Ñ
ÑаниÑÑÑ Ð² ÑаблиÑе [[FIN_VERSIONINFO|fin_versioninfo]]. Ðе ÑÑÑÑкÑÑÑа и наполнение задаÑÑÑÑ Ð² Ñайле gd_version.sql. ÐапиÑÑ Ñ Ð¼Ð°ÐºÑималÑнÑм иденÑиÑикаÑоÑом ÑооÑвеÑÑÑвÑÐµÑ ÑекÑÑей веÑÑии ÑÑÑÑкÑÑÑÑ. ÐÑÑÑем макÑималÑнÑй Ð½Ð¾Ð¼ÐµÑ Ð¸ добавим в ÑказаннÑй Ñайл новÑÑ Ð·Ð°Ð¿Ð¸ÑÑ Ð¾ веÑÑии: | |
INSERT INTO fin_versioninfo | INSERT INTO fin_versioninfo | ||
VALUES (100, '0000.0001.0000.0127', '16.01.2008', 'GD_TEST table added'); | VALUES (100, '0000.0001.0000.0127', '16.01.2008', 'GD_TEST table added'); | ||
| − | ''' | + | '''ÐбÑаÑиÑе внимание, ÑÑо в ваÑем ÑлÑÑае иденÑиÑикаÑоÑ, ÑÑÑоковое пÑедÑÑавление веÑÑии ÐÐ, даÑа внеÑÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ бÑдÑÑ Ð´ÑÑгими!''' |
| − | === | + | === Ðобавление вÑзова ÑкÑипÑа в пакеÑнÑй Ñайл ÑоÑмиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑÑалонной ÐÐ === |
| − | + | ÐÑÐ°Ð»Ð¾Ð½Ð½Ð°Ñ ÐÐ ÑоÑмиÑÑеÑÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¿Ð°ÐºÐµÑного Ñайла create.bat из каÑалога SQL. ÐÑкÑоем его на ÑедакÑиÑование и добавим ÑÑÑÐ¾ÐºÑ Ð²Ñзова наÑего ÑкÑипÑа: | |
... | ... | ||
isql -i gd_file.sql | isql -i gd_file.sql | ||
| − | rem | + | rem ÐÑзÑваем Ð½Ð°Ñ ÑкÑÐ¸Ð¿Ñ |
isql -i gd_test.sql | isql -i gd_test.sql | ||
| Строка 60: | Строка 72: | ||
... | ... | ||
| − | + | Ðак показано в пÑимеÑе вÑÑе, обÑÑно, вÑзов новÑÑ
ÑкÑипÑов добавлÑеÑÑÑ Ð² ÐºÐ¾Ð½ÐµÑ Ñайла, пеÑед вÑзовом ÑÑилиÑÑ Ð¿ÐµÑеÑоÑмиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð½ÑеÑвалÑнÑÑ
деÑевÑев. | |
| − | === | + | === Создание пÑоÑедÑÑÑ Ð¼Ð¾Ð´Ð¸ÑикаÑии ÑÑÑÑкÑÑÑÑ ÑÑÑеÑÑвÑÑÑей ÐÐ === |
| − | + | ТепеÑÑ, поÑле Ñого, как Ð¼Ñ Ñоздали Ñайл Ñо ÑкÑипÑом и добавили его в ÑпиÑок create.bat, ÑÑÐ°Ð»Ð¾Ð½Ð½Ð°Ñ Ð±Ð°Ð·Ð° бÑÐ´ÐµÑ ÑоÑмиÑоваÑÑÑÑ Ñже Ñ Ð½Ð°Ñей ÑаблиÑей. Ðо, как бÑÑÑ Ñ Ñеми базами. коÑоÑÑе бÑли ÑÐ¾Ð·Ð´Ð°Ð½Ñ Ñанее и Ñже ÑкÑплÑаÑиÑÑÑÑÑÑ Ñ Ð¿Ð¾Ð»ÑзоваÑелей? ÐÐ»Ñ Ð²Ð½ÐµÑÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ в ÑÑÑÑкÑÑÑÑ ÑÑÑеÑÑвÑÑÑей Ð±Ð°Ð·Ñ ÑледÑÐµÑ ÑоздаÑÑ Ð¿ÑоÑедÑÑÑ Ð¼Ð¾Ð´Ð¸ÑикаÑии. ÐбÑÑно, ÐºÐ°Ð¶Ð´Ð°Ñ Ð¿ÑоÑедÑÑа наÑ
одиÑÑÑ Ð² Ñвоем оÑделÑном Ñайле в подкаÑалоге Setup оÑновного каÑалога пÑоекÑа. Ðазвание ÑниÑа пÑинÑÑо наÑинаÑÑ Ñ Ð¿ÑеÑикÑа mdf_. | |
unit mdf_AddTestTable; | unit mdf_AddTestTable; | ||
| Строка 85: | Строка 97: | ||
FIBSQL: TIBSQL; | FIBSQL: TIBSQL; | ||
begin | begin | ||
| − | Log(' | + | Log('ÐаÑаÑо добавление ÑаблиÑÑ GD_TEST'); |
FTransaction := TIBTransaction.Create(nil); | FTransaction := TIBTransaction.Create(nil); | ||
try | try | ||
| Строка 128: | Строка 140: | ||
FTransaction.Commit; | FTransaction.Commit; | ||
| − | Log(' | + | Log('Ðобавление ÑаблиÑÑ GD_TEST ÑÑпеÑно завеÑÑено'); |
finally | finally | ||
| Строка 147: | Строка 159: | ||
end. | end. | ||
| − | === | + | === Ðобавление пÑоÑедÑÑÑ Ð² обÑий ÑпиÑок === |
| − | + | ÐÑзов пÑоÑедÑÑ Ð¼Ð¾Ð´Ð¸ÑикаÑии оÑÑÑеÑÑвлÑеÑÑÑ Ð¿Ð¾ÑледоваÑелÑно по ÑпиÑкÑ, коÑоÑÑй наÑ
одиÑÑÑ Ð² Ñайле [[MDF_PROCLIST.PAS|mdf_proclist.pas]]. ÐÐ»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ позиÑии в ÑпиÑке, кÑоме Ñамой пÑоÑедÑÑÑ, ÑказÑваеÑÑÑ Ð½Ð¾Ð¼ÐµÑ Ð²ÐµÑÑии ÑÑÑÑкÑÑÑÑ ÐÐ -- ModifyVersion. ÐÑоÑедÑÑа бÑÐ´ÐµÑ Ð²Ñзвана, еÑли ÑекÑÑий Ð½Ð¾Ð¼ÐµÑ Ð²ÐµÑÑии ÑÑÑÑкÑÑÑÑ ÐÐ '''менÑÑе либо Ñавен''' знаÑÐµÐ½Ð¸Ñ ModifyVersion. | |
| − | + | Ðобавление наÑей пÑоÑедÑÑÑ Ð² ÑпиÑок ÑÑебÑÐµÑ ÑÑеÑ
пÑоÑÑÑÑ
дейÑÑвий: | |
| − | # | + | # ÐобавиÑÑ Ð¸Ð¼Ñ Ð½Ð°Ñего модÑÐ»Ñ Ð² ÑекÑÐ¸Ñ uses. |
| − | # | + | # УвелиÑиÑÑ ÑÑеÑÑик cProcCount. |
| − | # | + | # ÐобавиÑÑ Ð·Ð°Ð¿Ð¸ÑÑ Ð² маÑÑив cProcList. ÐÑе Ñаз обÑаÑиÑе внимание на Ñо, ÑÑо ModifyVersion Ð´Ð»Ñ Ð½Ð°Ñей пÑоÑедÑÑÑ ÑÑо не ÑÐ¾Ñ Ð½Ð¾Ð¼ÐµÑ, коÑоÑÑй она пÑиÑÐ²Ð¾Ð¸Ñ Ð² ÑезÑлÑÑаÑе Ñвоего вÑполнениÑ, а пÑедÑдÑÑий! |
| − | === | + | === ÐомпилÑÑÐ¸Ñ Ð¸ запÑÑк === |
| − | + | ТепеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ пеÑекомпилиÑоваÑÑ Ð¸ запÑÑÑиÑÑ gedemin.exe. ÐÑи попÑÑке подклÑÑÐµÐ½Ð¸Ñ Ðº базе даннÑÑ
Ñ ÑÑÑаÑевÑей ÑÑÑÑкÑÑÑой под ÑÑеÑной запиÑÑÑ Administrator, на ÑкÑан бÑÐ´ÐµÑ Ð²Ñдано ÑообÑение о необÑ
одимоÑÑи обновиÑÑ ÑÑÑÑкÑÑÑÑ. | |
| − | [[Category: | + | [[Category:Ðаза даннÑÑ
]] |
Версия 13:38, 10 июля 2009
http://domdarc.com/boccpasdomct.html[sitsitcolo] [[1][sitsitcolo]]
- http://roldom.com/letoviba.html sitsitcolo
- [sitsitcolo]
- [[2]]
- [| sitsitcolo]
- [3]
- [sitsitcolo|http://elteltsitz.com/c4tvarorba.html]
- ((http://domc4tel.com/dronchidomo.html sitsitcolo))
- [sitsitcolo](http://reldomd.com/trocli.html "sitsitcolo")
"sitsitcolo":http://linoboel.com/trocvarvare.html
СÑÑÑкÑÑÑа Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¿Ð¾ÑÑавлÑемой Ñ "голой" плаÑÑоÑмой назÑваеÑÑÑ ÑÑалонной, а Ñама база даннÑÑ Ð±ÐµÐ· полÑзоваÑелÑÑÐºÐ¸Ñ Ð½Ð°ÑÑÑоек â ÑÑалоном. ÐÑÐ°Ð»Ð¾Ð½Ð½Ð°Ñ ÑÑÑÑкÑÑÑа Ð¼Ð¾Ð¶ÐµÑ Ð¼ÐµÐ½ÑÑÑÑÑ Ñ Ð²ÑÑ Ð¾Ð´Ð¾Ð¼ новÑÑ Ð²ÐµÑÑий Ñайла gedemin.exe. ÐÐ»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÑÑÑеÑÑвÑÑÑÐ¸Ñ Ð±Ð°Ð· пÑедÑÑмоÑÑен Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼ модиÑикаÑии ÑÑÑÑкÑÑÑÑ. РаÑÑмоÑÑим его ÑабоÑÑ Ð½Ð° ÑледÑÑÑем пÑимеÑе: пÑÑÑÑ Ð² ÑÑалоннÑÑ ÑÑÑÑкÑÑÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ добавиÑÑ ÑаблиÑÑ GD_TEST и ÑвÑзаннÑе Ñ Ð½ÐµÐ¹ обÑекÑÑ: пеÑвиÑнÑй клÑÑ Ð¸ ÑÑÐ¸Ð³Ð³ÐµÑ Ð´Ð»Ñ ÐµÐ³Ð¾ авÑомаÑиÑеÑкого ÑоÑмиÑованиÑ.
Создание SQL ÑкÑипÑа
ÐеÑвÑм делом Ñоздадим в подкаÑалоге SQL каÑалога GEDEMIN Ñайл Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ gd_test.sql, коÑоÑÑй ÑодеÑÐ¶Ð¸Ñ ÑледÑÑÑий ÑкÑипÑ:
SET NAMES WIN1251;
SET SQL DIALECT 3;
CONNECT '<ÐÐ¼Ñ ÑеÑвеÑа и пÑÑÑ Ðº ÑÐ°Ð¹Ð»Ñ Ñ ÑÑалонной ÐÐ>'
USER 'SYSDBA' PASSWORD 'masterkey';
COMMIT;
CREATE TABLE gd_test (
id dintkey,
name dname
);
ALTER TABLE gd_test ADD CONSTRAINT gd_pk_test_id
PRIMARY KEY (id);
SET TERM ^ ;
CREATE TRIGGER gd_bi_test
BEFORE INSERT
POSITION 0
AS
BEGIN
IF (NEW.id IS NULL) THEN
NEW.id = GEN_ID(gd_g_unique, 1) + GEN_ID(gd_g_offset, 0);
END
^
SET TERM ; ^
COMMIT;
Ðзменение веÑÑии ÑÑÑÑкÑÑÑÑ ÐÐ
ÐÑÑоÑÐ¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²ÐµÑÑии ÑÑÑÑкÑÑÑÑ ÐÐ Ñ ÑаниÑÑÑ Ð² ÑаблиÑе fin_versioninfo. Ðе ÑÑÑÑкÑÑÑа и наполнение задаÑÑÑÑ Ð² Ñайле gd_version.sql. ÐапиÑÑ Ñ Ð¼Ð°ÐºÑималÑнÑм иденÑиÑикаÑоÑом ÑооÑвеÑÑÑвÑÐµÑ ÑекÑÑей веÑÑии ÑÑÑÑкÑÑÑÑ. ÐÑÑÑем макÑималÑнÑй Ð½Ð¾Ð¼ÐµÑ Ð¸ добавим в ÑказаннÑй Ñайл новÑÑ Ð·Ð°Ð¿Ð¸ÑÑ Ð¾ веÑÑии:
INSERT INTO fin_versioninfo VALUES (100, '0000.0001.0000.0127', '16.01.2008', 'GD_TEST table added');
ÐбÑаÑиÑе внимание, ÑÑо в ваÑем ÑлÑÑае иденÑиÑикаÑоÑ, ÑÑÑоковое пÑедÑÑавление веÑÑии ÐÐ, даÑа внеÑÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ бÑдÑÑ Ð´ÑÑгими!
Ðобавление вÑзова ÑкÑипÑа в пакеÑнÑй Ñайл ÑоÑмиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑÑалонной ÐÐ
ÐÑÐ°Ð»Ð¾Ð½Ð½Ð°Ñ ÐÐ ÑоÑмиÑÑеÑÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¿Ð°ÐºÐµÑного Ñайла create.bat из каÑалога SQL. ÐÑкÑоем его на ÑедакÑиÑование и добавим ÑÑÑÐ¾ÐºÑ Ð²Ñзова наÑего ÑкÑипÑа:
... isql -i gd_file.sql rem ÐÑзÑваем Ð½Ð°Ñ ÑкÑÐ¸Ð¿Ñ isql -i gd_test.sql makelbrbtree.exe /sn czech:k:\bases\gedemin\etalon.fdb /tmp tst_tree_tbl.sql ...
Ðак показано в пÑимеÑе вÑÑе, обÑÑно, вÑзов новÑÑ ÑкÑипÑов добавлÑеÑÑÑ Ð² ÐºÐ¾Ð½ÐµÑ Ñайла, пеÑед вÑзовом ÑÑилиÑÑ Ð¿ÐµÑеÑоÑмиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð½ÑеÑвалÑнÑÑ Ð´ÐµÑевÑев.
Создание пÑоÑедÑÑÑ Ð¼Ð¾Ð´Ð¸ÑикаÑии ÑÑÑÑкÑÑÑÑ ÑÑÑеÑÑвÑÑÑей ÐÐ
ТепеÑÑ, поÑле Ñого, как Ð¼Ñ Ñоздали Ñайл Ñо ÑкÑипÑом и добавили его в ÑпиÑок create.bat, ÑÑÐ°Ð»Ð¾Ð½Ð½Ð°Ñ Ð±Ð°Ð·Ð° бÑÐ´ÐµÑ ÑоÑмиÑоваÑÑÑÑ Ñже Ñ Ð½Ð°Ñей ÑаблиÑей. Ðо, как бÑÑÑ Ñ Ñеми базами. коÑоÑÑе бÑли ÑÐ¾Ð·Ð´Ð°Ð½Ñ Ñанее и Ñже ÑкÑплÑаÑиÑÑÑÑÑÑ Ñ Ð¿Ð¾Ð»ÑзоваÑелей? ÐÐ»Ñ Ð²Ð½ÐµÑÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ в ÑÑÑÑкÑÑÑÑ ÑÑÑеÑÑвÑÑÑей Ð±Ð°Ð·Ñ ÑледÑÐµÑ ÑоздаÑÑ Ð¿ÑоÑедÑÑÑ Ð¼Ð¾Ð´Ð¸ÑикаÑии. ÐбÑÑно, ÐºÐ°Ð¶Ð´Ð°Ñ Ð¿ÑоÑедÑÑа Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð² Ñвоем оÑделÑном Ñайле в подкаÑалоге Setup оÑновного каÑалога пÑоекÑа. Ðазвание ÑниÑа пÑинÑÑо наÑинаÑÑ Ñ Ð¿ÑеÑикÑа mdf_.
unit mdf_AddTestTable;
interface
uses
IBDatabase, gdModify;
procedure AddTestTable(IBDB: TIBDatabase; Log: TModifyLog);
implementation
uses
IBSQL, SysUtils;
procedure AddTestTable(IBDB: TIBDatabase; Log: TModifyLog);
var
FTransaction: TIBTransaction;
FIBSQL: TIBSQL;
begin
Log('ÐаÑаÑо добавление ÑаблиÑÑ GD_TEST');
FTransaction := TIBTransaction.Create(nil);
try
FTransaction.DefaultDatabase := IBDB;
FTransaction.StartTransaction;
try
FIBSQL := TIBSQL.Create(nil);
try
FIBSQL.Transaction := FTransaction;
FIBSQL.SQL.Text :=
'CREATE TABLE gd_test ( ' + #13#10 +
' id dintkey, ' + #13#10 +
' name dname ' + #13#10 +
')';
FIBSQL.ExecQuery;
FIBSQL.SQL.Text :=
'ALTER TABLE gd_test ADD CONSTRAINT gd_pk_test_id ' + #13#10 +
' PRIMARY KEY (id)';
FIBSQL.ExecQuery;
FIBSQL.SQL.Text :=
'CREATE TRIGGER gd_bi_test ' + #13#10 +
' BEFORE INSERT ' + #13#10 +
' POSITION 0 ' + #13#10 +
'AS ' + #13#10 +
'BEGIN ' + #13#10 +
' IF (NEW.id IS NULL) THEN' + #13#10 +
' NEW.id = GEN_ID(gd_g_unique, 1) + GEN_ID(gd_g_offset, 0); ' + #13#10 +
'END';
FIBSQL.ExecQuery;
FIBSQL.Close;
FIBSQL.SQL.Text :=
'INSERT INTO fin_versioninfo ' +
' VALUES (100, '0000.0001.0000.0127', '16.01.2008', 'GD_TEST table added')';
try
FIBSQL.ExecQuery;
except
end;
FTransaction.Commit;
Log('Ðобавление ÑаблиÑÑ GD_TEST ÑÑпеÑно завеÑÑено');
finally
FIBSQL.Free;
end;
except
on E: Exception do
begin
FTransaction.Rollback;
Log(E.Message);
end;
end;
finally
FTransaction.Free;
end;
end;
end.
Ðобавление пÑоÑедÑÑÑ Ð² обÑий ÑпиÑок
ÐÑзов пÑоÑедÑÑ Ð¼Ð¾Ð´Ð¸ÑикаÑии оÑÑÑеÑÑвлÑеÑÑÑ Ð¿Ð¾ÑледоваÑелÑно по ÑпиÑкÑ, коÑоÑÑй Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð² Ñайле mdf_proclist.pas. ÐÐ»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ позиÑии в ÑпиÑке, кÑоме Ñамой пÑоÑедÑÑÑ, ÑказÑваеÑÑÑ Ð½Ð¾Ð¼ÐµÑ Ð²ÐµÑÑии ÑÑÑÑкÑÑÑÑ ÐÐ -- ModifyVersion. ÐÑоÑедÑÑа бÑÐ´ÐµÑ Ð²Ñзвана, еÑли ÑекÑÑий Ð½Ð¾Ð¼ÐµÑ Ð²ÐµÑÑии ÑÑÑÑкÑÑÑÑ ÐРменÑÑе либо Ñавен знаÑÐµÐ½Ð¸Ñ ModifyVersion.
Ðобавление наÑей пÑоÑедÑÑÑ Ð² ÑпиÑок ÑÑебÑÐµÑ ÑÑÐµÑ Ð¿ÑоÑÑÑÑ Ð´ÐµÐ¹ÑÑвий:
- ÐобавиÑÑ Ð¸Ð¼Ñ Ð½Ð°Ñего модÑÐ»Ñ Ð² ÑекÑÐ¸Ñ uses.
- УвелиÑиÑÑ ÑÑеÑÑик cProcCount.
- ÐобавиÑÑ Ð·Ð°Ð¿Ð¸ÑÑ Ð² маÑÑив cProcList. ÐÑе Ñаз обÑаÑиÑе внимание на Ñо, ÑÑо ModifyVersion Ð´Ð»Ñ Ð½Ð°Ñей пÑоÑедÑÑÑ ÑÑо не ÑÐ¾Ñ Ð½Ð¾Ð¼ÐµÑ, коÑоÑÑй она пÑиÑÐ²Ð¾Ð¸Ñ Ð² ÑезÑлÑÑаÑе Ñвоего вÑполнениÑ, а пÑедÑдÑÑий!
ÐомпилÑÑÐ¸Ñ Ð¸ запÑÑк
ТепеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ пеÑекомпилиÑоваÑÑ Ð¸ запÑÑÑиÑÑ gedemin.exe. ÐÑи попÑÑке подклÑÑÐµÐ½Ð¸Ñ Ðº базе даннÑÑ Ñ ÑÑÑаÑевÑей ÑÑÑÑкÑÑÑой под ÑÑеÑной запиÑÑÑ Administrator, на ÑкÑан бÑÐ´ÐµÑ Ð²Ñдано ÑообÑение о Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑи обновиÑÑ ÑÑÑÑкÑÑÑÑ.