Anmelden

View Full Version : Verbindungsserver SQL-Server AS400



work2svo
05-09-13, 08:04
Hallo zusammen !

Ich verzweifle an einem Problem und hoffe ihr könnt mir helfen.

Folgendes Szenario:
Ich habe einen SQL Server 2008 und soll mich auf die AS400 V5R2 verbinden.

Der Verbindungsserver steht und ein Select auf eine AS400 Tabelle funktioniert einwandfrei.
Auch ein INSERT usw. funktioniert bei Tabellen die Indiziert sind.

Nun stehe ich vor der Aufgabe in eine Tabelle zu schreiben die nicht Indiziert ist, und ich bekomme folgende Fehlermeldung:

Der OLE DB-Anbieter 'MSDASQL' für den Verbindungsserver 'iSeries_ODBC' hat die Meldung '[IBM][iSeries Access ODBC-Treiber][DB2 UDB]SQL7008 - S8_TEST in L31929F für Operation ungültig.' zurückgeben.
Meldung 7343, Ebene 16, Status 2, Zeile 1
Der OLE DB-Anbieter 'MSDASQL' für den Verbindungsserver 'iSeries_ODBC' konnte INSERT INTO für die '[iSeries_ODBC].[S4412215].[L31929F].[S8_TEST]'-Tabelle nicht ausführen.


Setze ich mein INSERT statement zwischen ein BEGIN und COMMIT kommt folgende Fehlermeldung:

Der OLE DB-Anbieter 'MSDASQL' für den Verbindungsserver 'iSeries_ODBC' hat die Meldung '[IBM][iSeries Access ODBC-Treiber]Enlist bei DTC-Phase fehlgeschlagen. 2' zurückgeben.
Meldung 7391, Ebene 16, Status 2, Zeile 4
Der Vorgang konnte nicht ausgeführt werden, da der OLE DB-Anbieter 'MSDASQL' für den Verbindungsserver 'iSeries_ODBC' keine verteilte Transaktion beginnen konnte.


Kann mir jemand iwie helfen, ich steh echt schon an :(

Fuerchau
05-09-13, 10:21
SQL7008 deutet auf fehlende Journalisierung der Zieltabelle hin.

work2svo
05-09-13, 12:02
Muss die Tabelle zwangsweise journalisiert werden oder gibt es eine andere Möglichkeit ?

Fuerchau
05-09-13, 13:00
Ich weiß nicht ob der SQL-Server das unterstützt.
Du musst einen Verbindungsserver ohne Commit zur AS/400 einrichten (Verbindungsfolge CMT=0).

Es kann aber sein, dass der SQL-Server das ablehnt, da er ja im Zweifel eine Transaktion nicht rückgängig machen kann.

Journalisierung ist da einfacher.

BenderD
06-09-13, 09:05
Muss die Tabelle zwangsweise journalisiert werden oder gibt es eine andere Möglichkeit ?

Tabellen müssen grundsätzlich nicht zwangsweise nicht journalisiert werden!!!
Mit anderen Worten: es gibt keinen einzigen vernüftigen Grund Tabellen nicht zu journalisieren!!!

D*B