Hallo Kollegen :-)
Habe ein sehr merkwürdiges Problem:
Ich habe einen MSSQL 2000-Server mit einer Tabelle.
Ich habe einen zweiten MSSQL-Server 2008 mit einer Tabelle. In diesem zweiten Server habe ich den ersten als Linked-Server eingetragen.
In der Tabelle auf dem zweiten (2008) habe ich einen insert-Trigger.
Beim Anlegen vom bestimmten Datensätzen (nennen wir es Dienst 10) liest dieser Trigger von dem linked Server (2000) mithilfe vom openquery einen Wert aus der Tabelle und macht in Abhängigkeit dieses Wertes irgendwas.
Beim Anlegen eines anderen Dienstes (sagen wir Dienst 1) tut er dies nicht - d. h. auf die Zeile, in der das openquery verwendet wird, kommt er beim Dienst 1 gar nicht.
Das Ganze funktioniert auch, egal wie ich die Daten in der Tabelle auf dem 2. Server (2008) anlege - per Hand, per C#-Programm - kommt Dienst 1 holt er sich keine Daten vom Linked Server , kommt Dienst 10 holt er sich per openquery die Daten.
NUR wenn ich Daten per PHP einfüge, legt er nicht mal den Datensatz an. Von diesem PHP-Skript werden NUR Datensätze mit Dienst 1 angelegt - es kann also nicht vorkommen, dass ein von PHP angelegter Datensatz überhaupt in die Zeile kommt, wo openquery vorkommt - alleine das Vorhandensein dieses Befehles im Trigger verhindert, dass ich von diesem PHP-Skript aus Datensätze anlege.
Hat jemand für DIESES merkwürdige Verhalten eine Idee?
Hatte vorher schon versucht, mit anderen Techniken von 2008 auf 2000 zuzugreifen, aber das ging alles überhaupt nicht (ich wollte auf dem 2000 er nichts installieren) - und mit openquery geht es ja auch - nur eben nicht von PHP aus..
Danke für Eure Inspirationen
Habe ein sehr merkwürdiges Problem:
Ich habe einen MSSQL 2000-Server mit einer Tabelle.
Ich habe einen zweiten MSSQL-Server 2008 mit einer Tabelle. In diesem zweiten Server habe ich den ersten als Linked-Server eingetragen.
In der Tabelle auf dem zweiten (2008) habe ich einen insert-Trigger.
Beim Anlegen vom bestimmten Datensätzen (nennen wir es Dienst 10) liest dieser Trigger von dem linked Server (2000) mithilfe vom openquery einen Wert aus der Tabelle und macht in Abhängigkeit dieses Wertes irgendwas.
Beim Anlegen eines anderen Dienstes (sagen wir Dienst 1) tut er dies nicht - d. h. auf die Zeile, in der das openquery verwendet wird, kommt er beim Dienst 1 gar nicht.
Das Ganze funktioniert auch, egal wie ich die Daten in der Tabelle auf dem 2. Server (2008) anlege - per Hand, per C#-Programm - kommt Dienst 1 holt er sich keine Daten vom Linked Server , kommt Dienst 10 holt er sich per openquery die Daten.
NUR wenn ich Daten per PHP einfüge, legt er nicht mal den Datensatz an. Von diesem PHP-Skript werden NUR Datensätze mit Dienst 1 angelegt - es kann also nicht vorkommen, dass ein von PHP angelegter Datensatz überhaupt in die Zeile kommt, wo openquery vorkommt - alleine das Vorhandensein dieses Befehles im Trigger verhindert, dass ich von diesem PHP-Skript aus Datensätze anlege.
Hat jemand für DIESES merkwürdige Verhalten eine Idee?
Hatte vorher schon versucht, mit anderen Techniken von 2008 auf 2000 zuzugreifen, aber das ging alles überhaupt nicht (ich wollte auf dem 2000 er nichts installieren) - und mit openquery geht es ja auch - nur eben nicht von PHP aus..
Danke für Eure Inspirationen
Comment