|
Тема
|
Мисията невъзможна
|
|
Автор |
MиГ (летящ) |
Публикувано | 09.04.02 14:19 |
|
Я кажете, има ли начин да се направи такава екстра:
Има в някоя БД запис, на който отговаря файл някъде по диска. Може ли, по някакъв странен начин, да се направи така, че едновременно с записа в БД да се изтрива и файла. Съответно, ако едната от двете операции се провали, нещата да остават непроменени
Я вышел им наперерез...
| |
Тема
|
Re: Мисията невъзможна
[re: MиГ]
|
|
Автор |
Topбaлaн (любопитко) |
Публикувано | 09.04.02 15:07 |
|
да
има начин
зависи каква база данни ползваш, но в общия случай се прави горе долу така
правиш тригер на ON DELETE
отваряш транзакция
опитваш да изтриеш записа
ако това е успешно се опитваш да изтриеш файла
ако последното е успешно приключваш нормално транзакцията
ако едно от нещата се провали връщаш транзакцията...
| |
Тема
|
Re: Мисията невъзможна
[re: MиГ]
|
|
Автор |
l33t_sh1t (shiteater) |
Публикувано | 09.04.02 15:08 |
|
moje ama samo s mysql nema da stane
no samo s mysql ne trea ti oshte neshto php perl asp ili tam kfoto moe da pusnesh
demek :> primerno php-to gleda v bazata gleda za fail ako neshto ne kak trea trie v bazata trie i faila
sorry che ne moa da ti napisha example ama sum lame :> no ideqta spored mene e gore dolu v toia duh
When I'm good, I'm very good. When I'm bad, I'm even better!
| |
Тема
|
Re: Мисията невъзможна
[re: Topбaлaн]
|
|
Автор |
MиГ (летящ) |
Публикувано | 09.04.02 15:15 |
|
Това добре, ама ако "завършването на транзакцията" се провали? :) Гледам, че SQLEndTran има доста error стойности.
Я вышел им наперерез...
| |
Тема
|
Re: Мисията невъзможна
[re: MиГ]
|
|
Автор |
Topбaлaн (любопитко) |
Публикувано | 09.04.02 15:31 |
|
виж, мога да ти го напиша точно как да го направиш ама ще го направя на Transact SQL за MS SQL Server например....
как точно трябва да го напишеш зависи от приложението което правиш и средствата които си избрал...
| |
Тема
|
Re: Мисията невъзможна
[re: Topбaлaн]
|
|
Автор |
MиГ (летящ) |
Публикувано | 09.04.02 15:37 |
|
Мисълта ми е, че функцията (без значение коя е), която завършва транзакцията, може да не мине. Какво да го правя тогава изтрития файл?
Я вышел им наперерез...
| |
|
Ako izpolzwash COM+ za Transaction Monitor moje da stane. Estestweno s malko trud. Izpolzwa se t.n. Compensating Resource Managers. Po tozi nachi moje da se sinfronizirat dwete transacii.
| |
Тема
|
Re: Мисията невъзможна
[re: MиГ]
|
|
Автор |
Topбaлaн (любопитко) |
Публикувано | 09.04.02 17:27 |
|
виж какво пише в хелпа на функцията, която ти отваря транзакцията
би трябвало (според мен) по подразбиране ако в някакъв разумно дълъг интервал от време не е завършена транзакцията тя да я дропне....
ама това според мен не трябва да го правиш от страната на приложението...а в самия SQL Server независимо какъв е като stored procedure
при това положение, ако се стартира процедурата...ако угасне тока няма да приключи изпълнението на функцията..ама...(има десетина фатални събития, едно от тях е да спреш тока на сървъра...това го пише по хелповете някъде...)
| |
Тема
|
Re: za faila?
[re: MиГ]
|
|
Автор |
Builder (JSP Builder) |
Публикувано | 10.04.02 09:18 |
|
a zashto treba faila da e niakade po diska ? a ne v bazata ?
| |
|
|
|
|