Jak sprawdzić, czy dane zapytanie wykonało się prawidłowo

0

Mam program pisany w Delphi oparty na MSSQL

Często na starcie programu wykonują się jakieś aktualizacje (np zmiana w procedurze)
Czyli
DROP Procedure xxx
GO

CREATE Procedure xxx
....

GO

Tekst aktualizacji przechowywany jest w komponencie JvStringContainer.
Na starcie sprawdzam jaka jest wersja bazy danych i pobieram linia po linii treść zapytania i na końcu ją wykonuję.
W jednej aktualizacji może być kilka zapytań, ale ja wykonuję każde osobno i jedno z nich czasem się nie wykona.

Problem w tym, że często się zdarza, że któraś aktualizacja się nie wykona. Nie ma żadnego komunikatu o błędzie, a na 10 innych komputerach wykonuje się wszystko bez problemu. A jeśli ta aktualizacja, która się nie wykonała zostanie wykonana z poziomu menagera baz danych to wykonuje się prawidłowo.

I tu jest właśnie pytanie: Jak sprawdzić, czy dane zapytanie wykonało się prawidłowo.

0

Transakcja

0

Niestety, ale transakcja nie może być, bo zgłasza błąd, że niektóre instrukcje nie mogą być wykonywane w transakcji.

Innym pomysłem jest, żeby po każdej aktualizacji tabeli (utworzenie nowej tabeli lub kolumny) sprawdzić czy rzeczywiście to zostało utworzone.
Ale co z aktualizacją procedur ?

P.S. Skoro jakimś cudem może się nie wykonać np: dodanie kolumny, to skąd wiadomo że sprawdzenie czy ta kolumna istnieje na pewno się wykona ?

0

dodaj sobie np. procedurę, która się na 100% nie wykona i zobacz co Ci krzyknie delphi przy próbie jej dodania do bazy

0
Misiekd napisał(a)

dodaj sobie np. procedurę, która się na 100% nie wykona i zobacz co Ci krzyknie delphi przy próbie jej dodania do bazy

To wtedy normalnie zgłasza błąd składni !

0

no to czego więcej chcesz??

0
Misiekd napisał(a)

no to czego więcej chcesz??

Jak to czego ?
Chcę mieć możliwość sprawdzenia, które aktualizacje bazy się nie wykonały ! (Przypominam, że czasem się wszystkie wykonają a czasem nie i nie zwraca przy tym żadnego błędu)

1 użytkowników online, w tym zalogowanych: 0, gości: 1