1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

SQL Server :: "MSDAORA unable to begin a distributed transaction"

Discussion in 'Programmieren' started by Don_Pazo, Mar 26, 2008.

Thread Status:
Not open for further replies.
  1. Don_Pazo

    Don_Pazo Byte

    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:
    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?
     
Thread Status:
Not open for further replies.

Share This Page