Discussion:
Trigger i dwie bazy
(Wiadomość utworzona zbyt dawno temu. Odpowiedź niemożliwa.)
raffels
2004-12-04 19:39:52 UTC
Permalink
[MSSQL] mam dwie bazy (baza1 i baza2) . na tabeli jednej z nich zakladam
TRIGGERA

CREATE TRIGGER mix_prc_upd
ON tabela1
FOR INSERT, UPDATE
AS

INSERT INTO tst
(tst_nazwa)
VALUES
('coś jest')


działa w obrębie tej jednej bazy.
jak go zmodyfikować żeby przy zmianie w tabela1 dodawal cos do tabeli "tst"
w innej bazie (na tym samych serwerze).

dziękuję

raffels
Dariusz Drzemicki
2004-12-04 20:17:35 UTC
Permalink
Post by raffels
[MSSQL] mam dwie bazy (baza1 i baza2) . na tabeli jednej z nich zakladam
TRIGGERA
CREATE TRIGGER mix_prc_upd
ON tabela1
FOR INSERT, UPDATE
AS
INSERT INTO tst
(tst_nazwa)
VALUES
('coś jest')
działa w obrębie tej jednej bazy.
jak go zmodyfikować żeby przy zmianie w tabela1 dodawal cos do tabeli "tst"
w innej bazie (na tym samych serwerze).
A czy odniesienia baza2.dbo.tst_nazwa trigger nie przyjmuje?
DD
raffels
2004-12-04 20:24:50 UTC
Permalink
Post by Dariusz Drzemicki
Post by raffels
CREATE TRIGGER mix_prc_upd
ON tabela1
FOR INSERT, UPDATE
AS
INSERT INTO tst
(tst_nazwa)
VALUES
('coś jest')
działa w obrębie tej jednej bazy.
jak go zmodyfikować żeby przy zmianie w tabela1 dodawal cos do tabeli "tst"
w innej bazie (na tym samych serwerze).
A czy odniesienia baza2.dbo.tst_nazwa trigger nie przyjmuje?
DD
dzięki

baza2.dbo.tst_nazwa powoduje taki komunikat

"Error 21078:[SQL-DMO]The owner name specified in the Text property's
'CREATE ...' statment must match the Owner property"

raffels
Dariusz Drzemicki
2004-12-04 21:42:15 UTC
Permalink
Post by raffels
Post by Dariusz Drzemicki
Post by raffels
CREATE TRIGGER mix_prc_upd
ON tabela1
FOR INSERT, UPDATE
AS
INSERT INTO tst
(tst_nazwa)
VALUES
('coś jest')
działa w obrębie tej jednej bazy.
jak go zmodyfikować żeby przy zmianie w tabela1 dodawal cos do tabeli "tst"
w innej bazie (na tym samych serwerze).
A czy odniesienia baza2.dbo.tst_nazwa trigger nie przyjmuje?
DD
dzięki
baza2.dbo.tst_nazwa powoduje taki komunikat
"Error 21078:[SQL-DMO]The owner name specified in the Text property's
'CREATE ...' statment must match the Owner property"
Mimo, że pracuję na kilku walcach równolegle, nie robiłem triggerów
międzywalcowych. Nie podoba mi sie takie rozwiązanie ze względu na mobilność
walca (przeniesienie na inny serwer, często to stosuję dla testów),
uprawnienia. Takie rozwiązanie jest narażone na błędy przy administroawaniu
użytkownikami czy rekonfiguracji serwera.
Zamiast tego stosuję joby, które swobodnie działają pomiędzy walcami.
Jeżeli Cię nie przekonałem, to przypuszczam, że przyczyna błędu tkwi w
uprawnieniach.

DD
raffels
2004-12-04 22:40:00 UTC
Permalink
Post by Dariusz Drzemicki
Post by raffels
Post by Dariusz Drzemicki
Post by raffels
CREATE TRIGGER mix_prc_upd
ON tabela1
FOR INSERT, UPDATE
AS
INSERT INTO tst
(tst_nazwa)
VALUES
('coś jest')
działa w obrębie tej jednej bazy.
jak go zmodyfikować żeby przy zmianie w tabela1 dodawal cos do tabeli "tst"
w innej bazie (na tym samych serwerze).
A czy odniesienia baza2.dbo.tst_nazwa trigger nie przyjmuje?
DD
dzięki
baza2.dbo.tst_nazwa powoduje taki komunikat
"Error 21078:[SQL-DMO]The owner name specified in the Text property's
'CREATE ...' statment must match the Owner property"
Mimo, że pracuję na kilku walcach równolegle, nie robiłem triggerów
międzywalcowych. Nie podoba mi sie takie rozwiązanie ze względu na mobilność
walca (przeniesienie na inny serwer, często to stosuję dla testów),
uprawnienia. Takie rozwiązanie jest narażone na błędy przy
administroawaniu
Post by Dariusz Drzemicki
użytkownikami czy rekonfiguracji serwera.
Zamiast tego stosuję joby, które swobodnie działają pomiędzy walcami.
Jeżeli Cię nie przekonałem, to przypuszczam, że przyczyna błędu tkwi w
uprawnieniach.
DD
dziękuję - pobawię się JOB'ami

raffels
wloochacz
2004-12-06 10:12:06 UTC
Permalink
Generalnie mam prośbę - możesz nie mówić "walec", "kładka" czy jeszcze
innych morświniaczek - ponieważ nikt poza Tobą (no i ludźmi w Twojej
firmie - siema Max :-))takich określeń nie używa!
Dla niezorientowanych:
walec - baza danych
kładka - pokreślnik lub łącznik; znak pisany z klawiatury
Post by Dariusz Drzemicki
Mimo, że pracuję na kilku walcach równolegle, nie robiłem triggerów
międzywalcowych.
Robiłem i działa bez pudła; cholernie wygodne podczas robienia wszelkiej
maści integracji pomiędzy różnycmi bazami danych - jedno z najprostszych
i najpewniejszych rozwiązań takiego problemu.
Post by Dariusz Drzemicki
Nie podoba mi sie takie rozwiązanie ze względu na mobilność
walca (przeniesienie na inny serwer, często to stosuję dla testów),
uprawnienia. Takie rozwiązanie jest narażone na błędy przy administroawaniu
użytkownikami czy rekonfiguracji serwera.
Zgadza się, tylko że najczęściej integracja to robótka jednorazowa.
Post by Dariusz Drzemicki
Zamiast tego stosuję joby, które swobodnie działają pomiędzy walcami.
Jeżeli Cię nie przekonałem, to przypuszczam, że przyczyna błędu tkwi w
uprawnieniach.
Tylko, że JOB działa w harmonogramie (uruchamiany jest w określonym
czasie, a nie po określonym zdarzeniu (np. UPDATE tabelki))- a to nie
zawsze jest wygodne ani nawet dopuszczalne.

---
wloochacz
Dariusz Drzemicki
2004-12-06 10:59:07 UTC
Permalink
Post by wloochacz
Generalnie mam prośbę - możesz nie mówić "walec", "kładka" czy jeszcze
innych morświniaczek - ponieważ nikt poza Tobą (no i ludźmi w Twojej
firmie - siema Max :-))takich określeń nie używa!
walec - baza danych
Baza graficznie jest pokazywana jako walec, więc sądziłem, że nazwa będzie
intuicyjnie jednoznaczna.
Baza danych jest pojęciem niejednoznacznym i w niektórych kontekstach może
znaczyć serwer, baza danych, tabela (u clipperowców).
Jeżeli jednak pojęcie walec jest niedobre, mogę go nie używać.
Post by wloochacz
kładka - pokreślnik lub łącznik; znak pisany z klawiatury
Nie używałem tego pojęcia na grupie.
Post by wloochacz
Post by Dariusz Drzemicki
Mimo, że pracuję na kilku walcach równolegle, nie robiłem triggerów
międzywalcowych.
Robiłem i działa bez pudła;
Dobrze wiedzieć.
Post by wloochacz
cholernie wygodne podczas robienia wszelkiej maści integracji pomiędzy
różnycmi bazami danych - jedno z najprostszych i najpewniejszych rozwiązań
takiego problemu.
Nie podzielam Twego zdania. Triggery używam do rozwiązań biznesowych,
transakcyjnych. Mają charakter wewnętrzny. Integracja natomiast nie musi byc
podłączona do akcji. Po co obciążać transakcję biznesową integracją?
Przecież to spowalnia działanie aplikacji. Ponadto uzależnia bazę od innych.
Post by wloochacz
Post by Dariusz Drzemicki
Nie podoba mi sie takie rozwiązanie ze względu na mobilność walca
(przeniesienie na inny serwer, często to stosuję dla testów),
uprawnienia. Takie rozwiązanie jest narażone na błędy przy
administroawaniu użytkownikami czy rekonfiguracji serwera.
Zgadza się, tylko że najczęściej integracja to robótka jednorazowa.
Niekoniecznie. U mnie przenoszenie baz pomiędzy serwerami lub zmiana nazwy
są częste.
Podam przykład: Klient pracuje na dwóch bazach: produkcyjnej (niecałe 1 GB)
i hurtowni danych (ponad 4 GB). Jeżeli obie bazy byłyby powiązane
triggerami, wtedy backup, przeniesienie na wersję testową czy szkoleniową
byłoby wielce uciążliwe, wymagałoby więcej porzestrzeni dyskowej oraz
modyfikacji triggerów lub drugiego serwera, choć praca na szkoleniach nie
wymagałaby pracy w hurtowni.
Tu chyba efekt skali decyduje o opinii.
Post by wloochacz
Post by Dariusz Drzemicki
Zamiast tego stosuję joby, które swobodnie działają pomiędzy walcami.
Jeżeli Cię nie przekonałem, to przypuszczam, że przyczyna błędu tkwi w
uprawnieniach.
Tylko, że JOB działa w harmonogramie (uruchamiany jest w określonym
czasie, a nie po określonym zdarzeniu (np. UPDATE tabelki))- a to nie
zawsze jest wygodne ani nawet dopuszczalne.
Do integracji jak najbardziej. Na przykład w nocy, kiedy nikt nie pracuje.
DD
wloochacz
2004-12-06 12:22:07 UTC
Permalink
Post by Dariusz Drzemicki
Post by wloochacz
Generalnie mam prośbę - możesz nie mówić "walec", "kładka" czy jeszcze
innych morświniaczek - ponieważ nikt poza Tobą (no i ludźmi w Twojej
firmie - siema Max :-))takich określeń nie używa!
walec - baza danych
Baza graficznie jest pokazywana jako walec, więc sądziłem, że nazwa będzie
intuicyjnie jednoznaczna.
Baza danych jest pojęciem niejednoznacznym i w niektórych kontekstach może
znaczyć serwer, baza danych, tabela (u clipperowców).
Jeżeli jednak pojęcie walec jest niedobre, mogę go nie używać.
Ale to grupa dla programujących bazy danych w Delphi, a nie w Clipperze.
IMHO jest wystarczająco jednoznacznie - baz danych to nie serwer,
ponieważ serwer bazy danych sam z siebie (a właścwie nigdy) nie jest
bazą danych.
Post by Dariusz Drzemicki
Post by wloochacz
kładka - pokreślnik lub łącznik; znak pisany z klawiatury
Nie używałem tego pojęcia na grupie.
:D

[ciach]
IMHO problem tkwi w braku precyzji pojęciowej, a mianowicie masz na
myśli synchronizację mówiąc o integracji.
Obciążanie hurtowni danych triggerami nie ma najmniejszego sensu, ponieważ:
1) Właśnie po to wymyślono DTS
2) Właśnie z takimi cudami ma sobie radzić Analisys Services w
konfiguracji ROLAP.

Pisząc o integracji mam na myśli nieco inny kontektst. Mam dwie różne
bazy danych (fizycznie), które do pewnego stopnia (np. ID i Nazwa
klienta) zawierają dokładnie tę samą informację. Periodyczna
aktualizacja nie wchodzi w grę, poniważ oba systemy są systemami
transakcyjymi - nie mogę sobie pozwolić na synchronizację co jakiś czas
- to ma działać on-line!
Innym przykładem jest integracja systemu ERP z WMS (system zarządzania
magazynem; wicie rozumicie - logistyka, chaotyczna zarządzanie
składowaniem na magazynach, magazyn wysokiego składowania, bezprzewodowe
terminale i co tam jeszcze).
W ERP wystawiamy fakturę, w WMS jest realizowane wydanie tego towaru; to
ma działać on-line, a nie na drugi dzień. Także integracja na poziomie
trggierów jest jak najbardziej fajna.

---
wloochacz
Dariusz Drzemicki
2004-12-06 13:16:12 UTC
Permalink
Post by wloochacz
Ale to grupa dla programujących bazy danych w Delphi, a nie w Clipperze.
Wiem, ale czy tylko ja przeszedłem z Clippera na Delphi?
Post by wloochacz
IMHO problem tkwi w braku precyzji pojęciowej, a mianowicie masz na myśli
synchronizację mówiąc o integracji.
1) Właśnie po to wymyślono DTS
2) Właśnie z takimi cudami ma sobie radzić Analisys Services w
konfiguracji ROLAP.
To dobrze, że uzgadniamy pojęcia.
Post by wloochacz
Pisząc o integracji mam na myśli nieco inny kontektst. Mam dwie różne bazy
danych (fizycznie), które do pewnego stopnia (np. ID i Nazwa klienta)
zawierają dokładnie tę samą informację. Periodyczna aktualizacja nie
wchodzi w grę, poniważ oba systemy są systemami transakcyjymi - nie mogę
sobie pozwolić na synchronizację co jakiś czas - to ma działać on-line!
1. Job można uruchamiać co 5 min.
2. Ponadto po co redundancja?
3. Takie rozwiązanie pogarsza wydajność.
Post by wloochacz
Innym przykładem jest integracja systemu ERP z WMS (system zarządzania
magazynem; wicie rozumicie - logistyka, chaotyczna zarządzanie
składowaniem na magazynach, magazyn wysokiego składowania, bezprzewodowe
terminale i co tam jeszcze).
W ERP wystawiamy fakturę, w WMS jest realizowane wydanie tego towaru; to
ma działać on-line, a nie na drugi dzień. Także integracja na poziomie
trggierów jest jak najbardziej fajna.
No tak, mówisz o różnych systemach, które trzeba integrować. Rzeczywiście
nie robię takich rzeczy. Fakturowanie i magazyn mam w jednej bazie.
Jeszcze rozumiem księgowość rozłączną w stosunku do systemu produkcyjnego,
ale po co rozłączenie fakturowania z gospodarką magazynową?

DD
wloochacz
2004-12-07 07:45:09 UTC
Permalink
Post by Dariusz Drzemicki
Post by wloochacz
Pisząc o integracji mam na myśli nieco inny kontektst. Mam dwie różne bazy
danych (fizycznie), które do pewnego stopnia (np. ID i Nazwa klienta)
zawierają dokładnie tę samą informację. Periodyczna aktualizacja nie
wchodzi w grę, poniważ oba systemy są systemami transakcyjymi - nie mogę
sobie pozwolić na synchronizację co jakiś czas - to ma działać on-line!
1. Job można uruchamiać co 5 min.
Można i co minutę, ale nie o to chodzi - prawda?
Post by Dariusz Drzemicki
2. Ponadto po co redundancja?
Ponieważ są to rózne systemy. Zapytaj siebie o to samo, dlaczego ten sam
(logicznie) system działa na kilku bazach danych? Pewnie znajdziesz
wiele argumentów.
Post by Dariusz Drzemicki
3. Takie rozwiązanie pogarsza wydajność.
Wydawało mi się że opisałem, iż niekoniecznie.
Kontrargument wydajnościowy :)
Job odpala się zawsze o zadanej porze, trigger to zdarzenie. Jeśli
musimy reagować jak najszybciej, a nie zdarza się to często - job nie
jest dobrym wyborem.
Post by Dariusz Drzemicki
Post by wloochacz
Innym przykładem jest integracja systemu ERP z WMS (system zarządzania
magazynem; wicie rozumicie - logistyka, chaotyczna zarządzanie
składowaniem na magazynach, magazyn wysokiego składowania, bezprzewodowe
terminale i co tam jeszcze).
W ERP wystawiamy fakturę, w WMS jest realizowane wydanie tego towaru; to
ma działać on-line, a nie na drugi dzień. Także integracja na poziomie
trggierów jest jak najbardziej fajna.
No tak, mówisz o różnych systemach, które trzeba integrować. Rzeczywiście
nie robię takich rzeczy. Fakturowanie i magazyn mam w jednej bazie.
Jeszcze rozumiem księgowość rozłączną w stosunku do systemu produkcyjnego,
ale po co rozłączenie fakturowania z gospodarką magazynową?
Może dlatego, że magazyny to również produkcja nie tylko wyroby gotowe?
Ponieważ moduł gospodarki magazynowej, w istniejącym systemie ERP, mogę
sobie w buty wsadzić. Oczywiście ma wszystko co każdy GM powinien
posiadać, a nawet i więcej, ale nie ma wielu niezbędnych funkcji.
Twój system potrafi zarządzać chaotycznie towarem na magazynie,
uwzględniając ogólne reguły składowania?
Optymalizować trasę wózków widłowych?
Obsługiwać regały wwjazdowe i grawitacyjne?
Działać na przenośnych kolektorach danych w trybie on-line?

---
wloochacz
Dariusz Drzemicki
2004-12-07 10:35:37 UTC
Permalink
Post by wloochacz
Post by Dariusz Drzemicki
Post by wloochacz
Pisząc o integracji mam na myśli nieco inny kontektst. Mam dwie różne
bazy danych (fizycznie), które do pewnego stopnia (np. ID i Nazwa
klienta) zawierają dokładnie tę samą informację. Periodyczna aktualizacja
nie wchodzi w grę, poniważ oba systemy są systemami transakcyjymi - nie
mogę sobie pozwolić na synchronizację co jakiś czas - to ma działać
on-line!
1. Job można uruchamiać co 5 min.
Można i co minutę, ale nie o to chodzi - prawda?
Częściowo. Minimalizuje się czas rozbieżności tabel przenosząc obciążenie
synchronizacji na oddzielną maszynę.
Post by wloochacz
Post by Dariusz Drzemicki
2. Ponadto po co redundancja?
Ponieważ są to rózne systemy. Zapytaj siebie o to samo, dlaczego ten sam
(logicznie) system działa na kilku bazach danych? Pewnie znajdziesz wiele
argumentów.
Różne systemy rozumiem, ale już triggerowanie nie.
Jeżeli księgowość jest na innej bazie, to synchronizacja kontrahentów może
odbyć się poprzez joba. Księgowość nie księguje natychmiast i może sobie
pozwolić na minutową zwłokę, natomiast budowanie fakturowania i magazynu na
oddzielnych systemach to moim zdaniem błąd w założeniach.
Post by wloochacz
Post by Dariusz Drzemicki
3. Takie rozwiązanie pogarsza wydajność.
Wydawało mi się że opisałem, iż niekoniecznie.
Kontrargument wydajnościowy :)
Job odpala się zawsze o zadanej porze, trigger to zdarzenie. Jeśli musimy
reagować jak najszybciej, a nie zdarza się to często - job nie jest dobrym
wyborem.
Masz wybór kiedy i gdzie odpalisz joba, przy triggerze niestety nie.
Post by wloochacz
Post by Dariusz Drzemicki
No tak, mówisz o różnych systemach, które trzeba integrować. Rzeczywiście
nie robię takich rzeczy. Fakturowanie i magazyn mam w jednej bazie.
Jeszcze rozumiem księgowość rozłączną w stosunku do systemu
produkcyjnego, ale po co rozłączenie fakturowania z gospodarką
magazynową?
Może dlatego, że magazyny to również produkcja nie tylko wyroby gotowe?
Ponieważ moduł gospodarki magazynowej, w istniejącym systemie ERP, mogę
sobie w buty wsadzić. Oczywiście ma wszystko co każdy GM powinien
posiadać, a nawet i więcej, ale nie ma wielu niezbędnych funkcji.
Ale czy rozbijanie magazynu i fakturowania nie tworzy większych problemów?
Post by wloochacz
Twój system potrafi zarządzać chaotycznie towarem na magazynie,
uwzględniając ogólne reguły składowania?
Optymalizować trasę wózków widłowych?
Obsługiwać regały wwjazdowe i grawitacyjne?
Działać na przenośnych kolektorach danych w trybie on-line?
Nie. Ale dlatego, że nie było takich potrzeb. Teraz na zamówienie klienta
rozbudowuję wspólpracę wydawania towaru z systemem kierującym taśmociągami,
gdzie pudełko lub pudełka na określone WZ zatrzymują się tylko na wymaganych
piętrach.
Klient ponosi wtedy koszt modyfikacji, co jest znacznie tańsze, niż zakup
drugiego programu, a potem zmaganie się z intergracją.
DD
wloochacz
2004-12-07 11:32:15 UTC
Permalink
Post by Dariusz Drzemicki
Post by wloochacz
Post by Dariusz Drzemicki
1. Job można uruchamiać co 5 min.
Można i co minutę, ale nie o to chodzi - prawda?
Częściowo. Minimalizuje się czas rozbieżności tabel przenosząc obciążenie
synchronizacji na oddzielną maszynę.
Post by wloochacz
Post by Dariusz Drzemicki
2. Ponadto po co redundancja?
Ponieważ są to rózne systemy. Zapytaj siebie o to samo, dlaczego ten sam
(logicznie) system działa na kilku bazach danych? Pewnie znajdziesz wiele
argumentów.
Różne systemy rozumiem, ale już triggerowanie nie.
Zaczyna mnie to nużyć... Ile razy mam pisać że TO SĄ RÓŻNE systemy?
Post by Dariusz Drzemicki
Jeżeli księgowość jest na innej bazie, to synchronizacja kontrahentów może
odbyć się poprzez joba. Księgowość nie księguje natychmiast i może sobie
pozwolić na minutową zwłokę, natomiast budowanie fakturowania i magazynu na
oddzielnych systemach to moim zdaniem błąd w założeniach.
I Ty uważasz, że trigger jest mniej wydajny od JOB'a w takiej sytuacji?
Ciekawe jak poradzisz sobie z powiadamianiem systemu FK o tym, że nie
może księgować wszystkich transakcji, ponieważ nie ma wszystkich
informacji - przecież to zaowocuję sporą ilością kodu, który może się
okazać po prostu zawodny. IMHO rozbijanie jednego systemu transakcyjnego
na kilka baz danych jest zwyczajnym nieporozumieniem.
Post by Dariusz Drzemicki
Post by wloochacz
Post by Dariusz Drzemicki
3. Takie rozwiązanie pogarsza wydajność.
Wydawało mi się że opisałem, iż niekoniecznie.
Kontrargument wydajnościowy :)
Job odpala się zawsze o zadanej porze, trigger to zdarzenie. Jeśli musimy
reagować jak najszybciej, a nie zdarza się to często - job nie jest dobrym
wyborem.
Masz wybór kiedy i gdzie odpalisz joba, przy triggerze niestety nie.
OK, jak mi powiesz jak mam uruchomić job'a który wykona się po
określonej akcji (np. dodanie nowego rekordu do tabeli X) to stawiam co
tam chcesz.
Post by Dariusz Drzemicki
Post by wloochacz
Post by Dariusz Drzemicki
No tak, mówisz o różnych systemach, które trzeba integrować. Rzeczywiście
nie robię takich rzeczy. Fakturowanie i magazyn mam w jednej bazie.
Jeszcze rozumiem księgowość rozłączną w stosunku do systemu
produkcyjnego, ale po co rozłączenie fakturowania z gospodarką
magazynową?
Może dlatego, że magazyny to również produkcja nie tylko wyroby gotowe?
Ponieważ moduł gospodarki magazynowej, w istniejącym systemie ERP, mogę
sobie w buty wsadzić. Oczywiście ma wszystko co każdy GM powinien
posiadać, a nawet i więcej, ale nie ma wielu niezbędnych funkcji.
Ale czy rozbijanie magazynu i fakturowania nie tworzy większych problemów?
Zdecydowanie nie - GM, w ujęciu tradycyjnym, to zarządzanie dokumentacją
magazynową a nie magazynami. W WMS jest zdecydowanie odwrotnie (np. WMS
często nie ma ewidencji wartościowej, jest tylko ilościowa).
Post by Dariusz Drzemicki
Post by wloochacz
Twój system potrafi zarządzać chaotycznie towarem na magazynie,
uwzględniając ogólne reguły składowania?
Optymalizować trasę wózków widłowych?
Obsługiwać regały wwjazdowe i grawitacyjne?
Działać na przenośnych kolektorach danych w trybie on-line?
Nie. Ale dlatego, że nie było takich potrzeb. Teraz na zamówienie klienta
rozbudowuję wspólpracę wydawania towaru z systemem kierującym taśmociągami,
gdzie pudełko lub pudełka na określone WZ zatrzymują się tylko na wymaganych
piętrach.
Klient ponosi wtedy koszt modyfikacji, co jest znacznie tańsze, niż zakup
drugiego programu, a potem zmaganie się z intergracją.
He :) To zależy dla kogo tańsze, zważ że ja tu występuje w roli klienta
nie dostawcy oprogramowania.
Poza tym, bez urazy, modyfukacja o której mówisz ma się nijak, pod
względem komplikacji, do WMS.

---
wloochacz
Dariusz Drzemicki
2004-12-07 17:13:24 UTC
Permalink
Post by wloochacz
I Ty uważasz, że trigger jest mniej wydajny od JOB'a w takiej sytuacji?
Nie trigger, ale aplikacja z tym triggerem w porównaniu z aplikację bez tego
triggera.
Post by wloochacz
Ciekawe jak poradzisz sobie z powiadamianiem systemu FK o tym, że nie może
księgować wszystkich transakcji, ponieważ nie ma wszystkich informacji -
przecież to zaowocuję sporą ilością kodu, który może się okazać po prostu
zawodny.
Jeżeli księgowość jest innym systemem, to tym bardziej transer dokumentów i
klientów powinien odbywać się kompleksowym jobem. Chcesz proces sprzedaży,
który musi działać szybko, obciążyć triggerem, który wykonuje tranfer do
księgowości?
Post by wloochacz
IMHO rozbijanie jednego systemu transakcyjnego na kilka baz danych jest
zwyczajnym nieporozumieniem.
Zgadzam się. Ale to Ty mówisz o kilku bazach, a nie ja.
Post by wloochacz
Post by Dariusz Drzemicki
Masz wybór kiedy i gdzie odpalisz joba, przy triggerze niestety nie.
OK, jak mi powiesz jak mam uruchomić job'a który wykona się po określonej
akcji (np. dodanie nowego rekordu do tabeli X) to stawiam co tam chcesz.
Właśnie tak robię. Podczas wprowadzania zamiennika towaru do katalogu należy
wykonać procedurę serwisowania zamienników. Procedura niestety jest dość
ciężka i może trochę trwać. Podłączenie procedury do zdarzenia spowoduje
chwilowe zawieszenie aplikacji. Aby tego uniknąć zamiast procedury wykonuję
instrukcję definiującą joba jednokrotnego i natychmastowego wykonania tej
procedury.
Post by wloochacz
Post by Dariusz Drzemicki
Post by wloochacz
Może dlatego, że magazyny to również produkcja nie tylko wyroby gotowe?
Ponieważ moduł gospodarki magazynowej, w istniejącym systemie ERP, mogę
sobie w buty wsadzić. Oczywiście ma wszystko co każdy GM powinien
posiadać, a nawet i więcej, ale nie ma wielu niezbędnych funkcji.
Ale czy rozbijanie magazynu i fakturowania nie tworzy większych problemów?
Zdecydowanie nie - GM, w ujęciu tradycyjnym, to zarządzanie dokumentacją
magazynową a nie magazynami. W WMS jest zdecydowanie odwrotnie (np. WMS
często nie ma ewidencji wartościowej, jest tylko ilościowa).
Trudno mi takie konstrukcje wyobrazić. A jaka jest relacja pomiędzy WZ a
fakturami?
A jaka jest procedura reklamacji, zwrotu, korekty ceny lub ilości,
wielokrotnych zwrotów do jednej faktury, zarządzania WZ niezafakturowanymi?
Jak zwraca się towar do faktury wystawionej na podstawie wielu WZ?
Przecież to wymaga silnego połączenia pomiędzy towarami, a fakturami.
Post by wloochacz
Post by Dariusz Drzemicki
Nie. Ale dlatego, że nie było takich potrzeb. Teraz na zamówienie klienta
rozbudowuję wspólpracę wydawania towaru z systemem kierującym
taśmociągami, gdzie pudełko lub pudełka na określone WZ zatrzymują się
tylko na wymaganych piętrach.
Klient ponosi wtedy koszt modyfikacji, co jest znacznie tańsze, niż zakup
drugiego programu, a potem zmaganie się z intergracją.
He :) To zależy dla kogo tańsze, zważ że ja tu występuje w roli klienta
nie dostawcy oprogramowania.
Koszt to czynnik obiektywny wyrażony w pieniądzach.
Ponadto intergracja wymaga dozoru, a więc większych i stałych kosztów
administracyjnych.
Post by wloochacz
Poza tym, bez urazy, modyfukacja o której mówisz ma się nijak, pod
względem komplikacji, do WMS.
Możliwe, chodziło mi jednak o możliwość uzyskania od dostawcy niezbędnych
modyfikacji, niż zakup kolejnego systemu.
Trochę dziwię się, że system, który ma tak zaawansowane funkcje magazynowe
nie potrafi należycie fakturować.
DD

wloochacz
2004-12-06 10:13:48 UTC
Permalink
Post by raffels
"Error 21078:[SQL-DMO]The owner name specified in the Text property's
'CREATE ...' statment must match the Owner property"
To tylko znaczy że dbo nie jest właścicielem tego obiektu - polecam
lekturę BOL; tam są opisane rónież konwencję nazewnictwa...

---
wloochacz
Loading...