Announcement

Collapse
No announcement yet.

Trigger über verschiedene Datenbankserver

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Trigger über verschiedene Datenbankserver

    Hallo,

    Frage an die Datenbankexperten: ich habe einen Trigger erstellt (MS SQL Server 2000) mit folgendem auszuführenden Code:

    Code:
     
    BEGIN 
         INSERT INTO [BE1-SVR143].[db_axl].GEW_PEX_Baan_BOM_OF_Item_WCT_Qty (OF_Nr, Item_Id, WCT_ID) 
                SELECT GEW_OF, G_Item_ID, G_WCT_ID 
                FROM inserted 
    
         UPDATE [BE1-SVR143].[db_axl].GEW_PEX_Baan_BOM_OF_Item_WCT_Qty 
                SET Rec_S_ID_Link = (SELECT Rec_S_ID_Link from [BE1-SVR143].[db_axl].GEW_PEX_Item_Receipe_S as A  
    where A.Rec_S_Item_ID= [BE1-SVR143].[db_axl].GEW_PEX_Baan_BOM_OF_Item_WCT_Qty.Item_ID), 
                    Rec_B_ID_Link = (SELECT Rec_B_ID_Link from [BE1-SVR143].[db_axl].GEW_PEX_Item_Receipe_BE as B  
    where B.Rec_B_Item_ID = [BE1-SVR143].[db_axl].GEW_PEX_Baan_BOM_OF_Item_WCT_Qty.Item_ID), 
                    Rec_L_D_ID_Link = (SELECT Rec_L_D_ID_Link from [BE1-SVR143].[db_axl].GEW_PEX_Item_Receipe_L_DIV as C  
    where C.Rec_L_D_Item_ID = [BE1-SVR143].[db_axl].GEW_PEX_Baan_BOM_OF_Item_WCT_Qty.Item_ID), 
                    OF_Qty = (SELECT D FROM planung.OF_Ordo_Production_Complete.TRANS_QTY as D  
    where D.Order_NO =  [BE1-SVR143].[db_axl].GEW_PEX_Baan_BOM_OF_Item_WCT_Qty.Item_ID) 
                WHERE KeyID = (SELECT MAX(KeyID) FROM [BE1-SVR143].[db_axl].GEW_PEX_Baan_BOM_OF_Item_WCT_Qty) 
    
    END
    // Sorry aber irgendwie bekomm ich die Formatierung nicht sauber hin...

    Als Fehler Meldung bekomme ich:
    Ungültiger Objektname BE1-SVR143.db_axl.GEW_PEX_Baan_BOM_OF_Item_WCT_Qty

    Die Tabelle existiert aber definitif.

    Folgendes habe ich schon probiert:

    sp_addlinkedserver: die Server sind untereinander bekannt und haben auch die benötigten Zugriffs- und Schreibrechte

    .dbo nach Tabellenname wird nicht gestattet mit der Meldung "Mehr als 3 Präfixe sind nicht gestattet"

    Was kann ich noch versuchen?

    Danke für eure Hilfe

    Falang

    EDIT: auch hier zu lesen:

    http://forum.delphi-treff.de/showthr...225#post176225
    Zuletzt editiert von Falang; 21.08.2008, 13:37. Reason: Crosspost verlinkt

  • #2
    Hallo Falang,

    .dbo nach Tabellenname wird nicht gestattet
    Der Schema-Name gehört nicht nach sondern zwingend vor den Tabellenname

    Ein vollqualifizierter Bezeichner baut sich auf aus:
    [Servername].[Datenbank].[Schema].[Tabelle]
    Olaf Helper

    <Blog> <Xing>
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich

    Comment


    • #3
      Nun ja, ich würde nie in einem Trigger einen linked server verwenden, wenn der mal nicht da ist, geht ja der Trigger und damit die Aktion nicht mehr. Ich würde das nur innerhalb derselben DB in eine Zwischentabelle stellen und der linked server holt sich zB im Minutenabstand von dort die neuen Einträge und löscht die, die er übernommen hat..

      Aber vielleicht hilft dir das weiter:
      http://bytes.com/forum/thread513448.html

      bye,
      Helmut

      Comment


      • #4
        @ O.Helper
        Ok, gerade ausprobiert... ohne Erfolg

        'BE1-SVR143.db_axl.dbo.GEW_PEX_Baan_BOM_OF_Item_WCT_Qty ' wobei BE1-SVR173 der Server, db_axl die Datenbank, dbo das Schema und der

        Fehlermeldung:

        Der Name 'BE1-SVR143.db_axl.dbo.GEW_PEX_Baan_BOM_OF_Item_WCT_Qty ' (Zahl) enthält mehr Präfixe als zulässig. Maximal sind 3 Präfixe zulässig.

        Trotzdem Danke!

        Als Ergänzung: nutze den SQL Manager 2005 Lite. Kann es daran liegen?

        @hwoess
        schau ich mir an. Danke!

        Comment


        • #5
          @hwoess: der Link hat mich auch nicht weiter gebracht.

          Ach ja, falls einer der Server nicht antwortet hab ich ein größeres Problem als ne Archivliste in der ein Eintrag fehlt... schließlich hängt da noch einiges mehr dran...

          Hat noch jemand ne Idee, was ich noch versuchen könnte?

          Gruß

          Falang

          Comment

          Working...
          X