-
SQL-Verbindungsserver zur iSeries über IBM OLE DB Provider
Hallo zusammen,
ich habe folgendes Problem mit Datenaktualisierungen einer AS400-Tabelle über einen SQL-2005 Verbindungsserver:
Eine einfache Abfrage der Art:
update "ISERIES"."S658E27C"."TESTDT"."KUSTP" set KUPENA = 'X' where KUKNR = 10042
funktioniert einwandfrei.
sobald die Abfrage in Kombination mit einem Join einer SQL-Tabelle aufsgeführt wird:
update "ISERIES"."S658E27C"."TESTDT"."KUSTP" set KUPENA = 'X'
from "ISERIES"."S658E27C"."TESTDT"."KUSTP" A
inner join DWHTrans.dbo.tImport B
on A.KUFA = B.FirmaNr and A.KUKNR = B.KunNr where KUKNR = 10042
kommt folgende Fehlermeldung:
Der OLE DB-Anbieter "IBMDA400" für den Verbindungsserver "ISERIES" hat die Meldung "CPF4328: Teildatei KUSTP nicht in Journal *N aufgezeichnet.
" zurückgeben.
Wird anstelle eines updates ein select geschrieben, funktioniert auch diese Abfrage.
Hat jemand eine Idee ob vielleicht bestimmte Einstellungen im OLE DB-Treiber oder auf der AS400 dieses Problem lösen?
Vielen Dank im Voraus!
-
Soweit mir bekannt ist unterstützt die AS400 keine JOINS in einem UPDATE oder DELETE Statement.
Du kannst das aber mit einer EXISTS-Abfrage abhandeln.
-
Vielen Dank für die rasche Antwort.
Die Abfrage
update "ISERIES"."S658E27C"."TESTDT"."KUSTP" set KUPENA = 'X'
from "ISERIES"."S658E27C"."TESTDT"."KUSTP" A
where exists (select 1 from DWHTrans.dbo.tImport B
where A.KUFA = B.FirmaNr and A.KUKNR = B.KunNr and A.KUDKS = B.DebKredKz)
schlägt auch fehl mit:
Der OLE DB-Anbieter "IBMDA400" für den Verbindungsserver "ISERIES" hat die Meldung "CPF4328: Teildatei KUSTP nicht in Journal *N aufgezeichnet.
" zurückgeben.
Sie würde auch nicht sehr weiterhelfen da ich mehrere Felder zu aktualisieren habe:
update AS400.Feld1 = SQL.Feld1, AS400.Feld2 = SQL.Feld2 ....
from AS400 inner join SQL ....
-
Ich kenne mich mit OLE DB nicht aus, aber auf der AS400 würde ich folgendes SQL-Statement verwenden:
Code:
update "ISERIES"."S658E27C"."TESTDT"."KUSTP" A set KUPENA = 'X'
where exists (select 1 from DWHTrans.dbo.tImport B
where A.KUFA = B.FirmaNr and A.KUKNR = B.KunNr and A.KUDKS = B.DebKredKz)
-
Die Fehlermeldung ist doch eindeutig:
Fehlendes Journal.
Suche mal die OLEDB-Einstellungen für Commit-Level und setze diese auf *NONE (oder das Äquivalent) da die Dateien wohl nicht aufgezeichnet werden.
Der Update scheint auch für die Dateien, die eigentlich nur gelesen werden, eine Journalaufzeichnung zu benötigen.
Similar Threads
-
By deni87991 in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 03-08-06, 09:00
-
By Fondue in forum NEWSboard Server Software
Antworten: 0
Letzter Beitrag: 28-04-06, 19:40
-
By reraru in forum NEWSboard Programmierung
Antworten: 13
Letzter Beitrag: 20-04-05, 13:07
-
By gussi40 in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 01-02-05, 22:13
-
By OMS in forum IBM i Hauptforum
Antworten: 0
Letzter Beitrag: 26-02-01, 12:55
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks