Don_Pazo
Erfahrenes Mitglied
Hallo,
ich habe einmal MS SQL Server 2005 und einmal Oracle 10g, die zwei Datenbanken sind auf dem selben Rechner.
Ich habe einen Linked Server (Verbindungserver) in MS SQL Server 2005 eingerichtet:
Folgender SELECT-Anweisung funktioniert wunderbar und liefert alle Ergebnisse zurück:
-----------------------------------------------
- Problem
-----------------------------------------------
Wenn ich in dem MS SQL Server Management Studio folgende INSERT-Anweisung ausführe funktioniert es,
wenn die Anweisung aber in einem TRIGGER steht, geht es aber alles nicht mehr?
Ich bekomme immer wieder die Felermeldung:
Server: Msg 7391, Ebene 16, Status 1, Zeile 1
Die Operation konnte nicht ausgeführt werden, da der OLE DB-Provider 'MSDAORA' keine verteilte Transaktion beginnen konnte.
Bei mir ist:
- Distributed Transaction Coordinator gestartet: (Anmelden als der Eintrag Netzwerkdienst)
- habe auch dies hier durchgemacht: Link
Leider bekomme ich immer wieder dieselbe Fehlermeldung
Ich hoffe sehr dass sich hier jemand damit auskennt und mir mal helfen könnte.
Was mache ich denn nun falsch?
Wie kann ich denn die Fehlermeldung beseitigen oder umgehen?
ich habe einmal MS SQL Server 2005 und einmal Oracle 10g, die zwei Datenbanken sind auf dem selben Rechner.
Ich habe einen Linked Server (Verbindungserver) in MS SQL Server 2005 eingerichtet:
Code:
Linked Server: D
Provider: Microsoft OLE DB Provider for Oracle
Product name: d
Data source: ORACLE
-- unter Security
habe ich die Remode User und
Remode Password auch eingegeben
-- unter Server Oprions
Collation Compatible = false
Data Access = true
Rpc = false
Rpc Out = false
Use Remote Collation = true
Folgender SELECT-Anweisung funktioniert wunderbar und liefert alle Ergebnisse zurück:
Code:
SELECT *
FROM OPENQUERY(D, 'SELECT * FROM niko.table_name')
-----------------------------------------------
- Problem
-----------------------------------------------
Wenn ich in dem MS SQL Server Management Studio folgende INSERT-Anweisung ausführe funktioniert es,
wenn die Anweisung aber in einem TRIGGER steht, geht es aber alles nicht mehr?
Code:
--
-- Dies funktioniert
--
INSERT INTO
OPENQUERY(D, 'SELECT * FROM niko.table_name')
(Spalte_1, Spalte_2, Spalte_3)
VALUES('bla', 'blabla', 'blablabla')
--
-- Aber dies nicht ?
--
CREATE TRIGGER dbo.trigger_UPD
ON dbo.Table_name
FOR UPDATE
AS
SET NOCOUNT ON
-- Ich habe es wersucht mit:
-- SET XACT_ABORT ON
-- SET BEGIN DISTRIBUTED TRANSACTION
INSERT INTO
OPENQUERY(D, 'SELECT * FROM niko.table_name')
(Spalte_1, Spalte_2, Spalte_3)
VALUES('bla', 'blabla', 'blablabla')
Ich bekomme immer wieder die Felermeldung:
Server: Msg 7391, Ebene 16, Status 1, Zeile 1
Die Operation konnte nicht ausgeführt werden, da der OLE DB-Provider 'MSDAORA' keine verteilte Transaktion beginnen konnte.
Bei mir ist:
- Distributed Transaction Coordinator gestartet: (Anmelden als der Eintrag Netzwerkdienst)
- habe auch dies hier durchgemacht: Link
Leider bekomme ich immer wieder dieselbe Fehlermeldung
Ich hoffe sehr dass sich hier jemand damit auskennt und mir mal helfen könnte.
Was mache ich denn nun falsch?
Wie kann ich denn die Fehlermeldung beseitigen oder umgehen?