[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte

Thema: View lesen

Hybrid View

  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Ich kann den Sperrlevel aber auch mittles Transaktion festlegen.
    Oracle hat ein DB2-Gateway, dass dann wohl auf DRDA basiert.

    Die maximale Anzahl der Locks in einer Transaktion beträgt 500.000.000.
    https://www.ibm.com/docs/en/i/7.1?to...nce-sql-limits

    2,5 Mio sind da nicht das Limit.

    "..Satz xxx wird von Job oder Transaktion NR/USER/JOB benutzt"
    Welcher Job ist dies und warum hält dieser einen Lock über die Satzwartezeit hinaus?

    Dies könnte auch wiederum durch den Commandtimeout auf Clientseite festgelegt werden.
    Der Default ist da eher nur 30 Sekunden, während der Satztimeout auf der Ei eben 60 Sekunden beträgt.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  2. #2
    Registriert seit
    Sep 2005
    Beiträge
    425
    Habe im ACS folgendes probiert:
    "SQL - Anweisung und CL Befehle ausführen"
    select * from LIB.VIEW for read only with NC
    "Auswahl ausführen"
    Bild mit Daten, rechts unten ein download Symol, das gedrückt.
    Anzeige wird zum Subfile, links unten steht "in Arbeit" und zählt die Sätze hoch.

    nach 35 Minuten hat er die 3,2 Mio Sätze in der Anzeige, das klappt also.

    gegenprobe, ohne "for read only with NC"
    geht nicht!

    Also:
    - das Problem tritt beim Zugriff von Oracle (ODBC, Treiber ?) und von ACS (JDBC) auf
    => hat mit Art des Oracle Treibers (ob DRDA oder MS CLI) nix zu tun, da JDBC über MS CLI zugreift.
    zu untersuchen: Sperrlevel ist Eigenschaft der Connection, der default wird im Treiber eingestellt (bei JDBC in der url) üblich ist hier maximal change, was beim lesenden Zugriff keine Sperren setzt.
    Ja.
    Wenn ACS mit JDBC zugreift, und man da was einstellen / kontrollieren kann
    Wie komme ich da dran? Warum liest der mit Sperre als default? ein Interaktiver select!

    Habe Rückmeldung vom Oracle Team:
    Durch umstellen des Transaktionslevels hat alles geklappt, vielen Dank!

    @Baldur
    "..Satz xxx wird von Job oder Transaktion NR/USER/JOB benutzt"
    Welcher Job ist dies und warum hält dieser einen Lock über die Satzwartezeit hinaus?
    Stammdatenpflege sperrt den Satz blöderweise so lange, bis der Anwender aus der Porzelanabteilung zurück kommt, alle privaten Telefonate erledig hat und sich erbahmt seine (ggf nicht einmal gemachte) Änderung wieder frei zu geben.
    Das braucht ihr überigens nicht als Designfehler zu benennen!

    Danke
    @D*B:
    wäre schön wenn du noch beschreiben könntest wie wir die JDBC Treiber Einstellungen finden können.
    Danke

    Der ILEMax

  3. #3
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... sorry, ich vermeide es, mir ACS anzutun. Da gibt es m.E. bessere Alternativen, zumindest für das, was ich da brauche.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    In Verbindung => Connected => JDBC-Konfiguration bearbeiten => System => Isolationsstufe.

    @D*B:
    Wenn man Alternativen verwenden darf, gehts.
    Ansonsten ist ACS ganz OK, nur bei manchen Dingen wie z.B. Intellisense (Autovervollständigen) etwas schwach. Wenn man aber mindestens einmal STRG+Leerzeichen verwendet hat und die Geduld aufbringt (Kaffee holen oder wegbringen) dann gehts auch.
    Was andere nicht anbieten ist die Zugriffsanalyse (ob meine selbst erstellten Indizes verwendet werden).

    35 Minuten für nur 3,2 Mio Sätze? Bist du da Remote via VPN drauf oder läuft dein Java in 32-Bit?
    Ich habe native Tests mal gemacht, da konnten bis 200Mio Zeilen/Stunde abgeholt werden, allerdings mit ODBC. Der OLEDB IBMDASQL/IBMDA400 sowie der native .Net-Treiber waren da sogar langsamer.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Zitat Zitat von Fuerchau Beitrag anzeigen
    In Verbindung => Connected => JDBC-Konfiguration bearbeiten => System => Isolationsstufe.
    Das ist noch der iSeries Navigator!
    In ACS kann man Verbindungen festlegen, die man beim Connect angibt.
    Die Verbindungen können gepflegt werden über:
    Edit --> JDBC Configuartions

    Das Loglevel (bzw. Commit) stellt man dann in der Verbindung unter System --> Isolation Level ein.
    (Default ist an dieser Stelle allerdings *NONE)
    Click image for larger version. 

Name:	ACS - Verbindung - Commit.jpg 
Views:	6 
Size:	64,2 KB 
ID:	633

    Die entsprechende Verbindung kann dann beim Verbinden ausgewählt werden.
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Nö, ich habe mich auf ACS bezogen;-).
    Ich habe halt nur die deutsche Sprache eingeschaltet.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  7. #7
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... naja, ich tobe halt auf etlichen verschiedenen Datenbanken rum und vermeide nicht nur ACS, sondern auch MS-SQL Server Management studio und alles, was Datenbank spezifisch ist. Zusammenknipsen mit Auto Completion etc. mache ich auch nicht. Das trainiert und sorgt dafür, dass vor dem Bildschirm mehr Intelligenz sitzt als hinter dem Blech.

    D*B

    Zitat Zitat von Fuerchau Beitrag anzeigen
    In Verbindung => Connected => JDBC-Konfiguration bearbeiten => System => Isolationsstufe.

    @D*B:
    Wenn man Alternativen verwenden darf, gehts.
    Ansonsten ist ACS ganz OK, nur bei manchen Dingen wie z.B. Intellisense (Autovervollständigen) etwas schwach. Wenn man aber mindestens einmal STRG+Leerzeichen verwendet hat und die Geduld aufbringt (Kaffee holen oder wegbringen) dann gehts auch.
    Was andere nicht anbieten ist die Zugriffsanalyse (ob meine selbst erstellten Indizes verwendet werden).

    35 Minuten für nur 3,2 Mio Sätze? Bist du da Remote via VPN drauf oder läuft dein Java in 32-Bit?
    Ich habe native Tests mal gemacht, da konnten bis 200Mio Zeilen/Stunde abgeholt werden, allerdings mit ODBC. Der OLEDB IBMDASQL/IBMDA400 sowie der native .Net-Treiber waren da sogar langsamer.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Nunja, bei Einwicklungen mit SQL, ILERPG und langen Namen vermeide ich gerne das ständige Neutippen von Namen wie zu SEU-Zeiten. Selbst da habe ichmir häufig auf einer 2. Sitzung die Namen anzeigen lassen um sie mit Copy/Paste zu transportieren.

    In der Entwicklung mit VisualStudio käme ich gar nicht damit aus. Das erzeugen von Code ist du um kaum messbare Faktoren effektiver, schneller und dadurch auch weniger fehleranfällig.
    Warum also nicht auch für die IBM i?

    Da würde ich mir auch bei SQL die Vervollständigung wünschen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  9. #9
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... um mal im offtopic zu bleiben. Im Eclipse (Java) erzeuge ich eine Methode, indem ich sie einfach aufrufe, wenn der Compiler meckert, nehme ich den QuickFix "erstellen" und selbiger erzeugt einen Stub. Im Refactoring kann man Methoden im scope verschieben, umbenennen mit automatischem durchziehen durch das gesamte Projekt und vieles mehr. Die völlig überteuerten Werkzeuge sehen aus wie Eclipse aber alle wichtigen Punkte fehlen - das ist so, als ob man einen Mercedesstern auf einen Trabbi macht und dem Kunden ein Dia auf die Brille klebt.
    Was SQL angeht, erspare ich mir das Felder auflisten weitgehend indem ich grundsätzlich auf spezifische Views zugreife und den fetch in eine externe DS mache. Diese Views werden (fast) nie geändert, kommt ein Feld hinzu, gibt es eine weitere View.
    Was mich an Auto Completion stört, ist, dass man zu leicht etwas ähnlich benamtes einfügt.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Dann hast du ja wenige komplexe SQL's bisher nötig;-).
    Spätestens bei komplexen Where-Klauseln, join-Beziehungen, OLAP-Funktionen u.s.w. ist die Vervollständigung einfach sehr hilfreich.
    Der RDI kann das aber noch nicht mal, wenn ich den eine SQL-Textdatei öffne.
    Da hilft mir dann ACS und ich kopiere den SQL dann in RDI um die View/Table/Function/... zu erstellen.

    Mich nervt da eher, dass der SQL-Precompiler Fehler bei den Namen nicht mehr meldet sondern denkt, dass dies externe SQL-Variablen sind.
    Erst bei der Ausführung wundert man sich was da niocht läuft und nur im Debugmodus wird der SQL-Code -206 im Joblog geschrieben.
    Die Zeit die ich beim Tippen spare, gibt mir die Zeit dann beim Testen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  11. #11
    Registriert seit
    Nov 2020
    Beiträge
    418
    Ich mag auch Offtopic sein :-)

    Ich hab bis jetzt nichts schnelleres gefunden als den DBeaver.
    Der schlägt mir Lib, Tabellen, Spalten & Co automatisch beim Tippen vor.
    Egal ob sich das getippte am Namenanfang oder mitten drinnen befindet.
    Er ist da sehr intelligent und das hilft super bei Faulheit (Klassiker: ... ah wie war der blöde Prefix da nochmal?!?)

    Und das Entwickeln mach ich fast ausschließlich im VSCode.
    Habe auch kein Tool bis jetzt gefunden, wo ich so schnell durch die Sourcen springen und sie auch einfach finden kann.
    Es wird sehr oft keine Maus benötigt. Vieles geht schnell und einfach über Tastenkombis.
    Egal ob jetzt RPG, Python, Java, PHP usw.
    Es fehlt leider nur an Features die im Eclipse besser umgesetzt sind wie von Bender beschrieben.
    Das ist das einzige was mir da im VSCode abgeht.

  12. #12
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... die Komplexität gehört ins View Layer und nebenbei bemerkt, ist Komplexität häufig ein Zeichen von miesem Datenbankdesign.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

Similar Threads

  1. mit SQL in ein array lesen
    By dibe in forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 21-01-19, 13:52
  2. Dataara mit SQL lesen
    By dibe in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 13-10-15, 08:48
  3. Job Informationen lesen
    By svit in forum IBM i Hauptforum
    Antworten: 14
    Letzter Beitrag: 28-08-15, 19:25
  4. CDs für AS/400 brennen und lesen
    By HelgeNielsen in forum IBM i Hauptforum
    Antworten: 12
    Letzter Beitrag: 23-04-02, 15:40
  5. AS/400 QIC-2GB Tape lesen
    By chr in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 01-02-01, 11:00

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •