Oli001
31-01-13, 09:47
Hallo,
ich habe einen Verbindungsserver von einer MSSQL zur AS400. Funktioniert soweit auch tadellos.
Ich kann Daten von der AS400 lesen und auch Zeilen in einer Tabelle auf der AS400 löschen.
Nun wollte ich einen INSERT nachen und bekomme folgenden Fehler:
Der angeforderte Vorgang konnte nicht ausgefhrt werden, da der OLE DB-Anbieter 'IBMDA400' fr den Verbindungsserver 'IBMDA400' die angeforderte Transaktionsschnittstelle nicht untersttzt.
Woran kann das liegen? Rechte auf der AS400 könnens ja nicht sein, ein Delete ist ja möglich, die Datei ist auch journalisiert...
Das ganze ist ein Trigger auf ein INSERT:
ALTER TRIGGER [dbo].[TRG_C2ACDTPOP] ON [dbo].[C2ACDTPOP]
FOR INSERT
AS
BEGIN
BEGIN
TRY
INSERT INTO IBMDA400.XXXXXXX.CRMC2A.C2ACDTPOP SELECT * from inserted;
END TRY
BEGIN CATCH
DECLARE
@errTxt varchar (MAX);
SELECT @errTxt = ERROR_MESSAGE();
UPDATE C2ACDTPOP SET DATE_READ=SYSDATETIME(),C2AERR=@errTxt where ID=(select id from inserted);
END CATCH
END
Kann mir jemand helfen?
Danke Oli
ich habe einen Verbindungsserver von einer MSSQL zur AS400. Funktioniert soweit auch tadellos.
Ich kann Daten von der AS400 lesen und auch Zeilen in einer Tabelle auf der AS400 löschen.
Nun wollte ich einen INSERT nachen und bekomme folgenden Fehler:
Der angeforderte Vorgang konnte nicht ausgefhrt werden, da der OLE DB-Anbieter 'IBMDA400' fr den Verbindungsserver 'IBMDA400' die angeforderte Transaktionsschnittstelle nicht untersttzt.
Woran kann das liegen? Rechte auf der AS400 könnens ja nicht sein, ein Delete ist ja möglich, die Datei ist auch journalisiert...
Das ganze ist ein Trigger auf ein INSERT:
ALTER TRIGGER [dbo].[TRG_C2ACDTPOP] ON [dbo].[C2ACDTPOP]
FOR INSERT
AS
BEGIN
BEGIN
TRY
INSERT INTO IBMDA400.XXXXXXX.CRMC2A.C2ACDTPOP SELECT * from inserted;
END TRY
BEGIN CATCH
DECLARE
@errTxt varchar (MAX);
SELECT @errTxt = ERROR_MESSAGE();
UPDATE C2ACDTPOP SET DATE_READ=SYSDATETIME(),C2AERR=@errTxt where ID=(select id from inserted);
END CATCH
END
Kann mir jemand helfen?
Danke Oli