Versuchen Sie, die Datenbank unter IBM i mit Python + JDBC mithilfe von JayDeBeApi zu starten

Kann Python Daten auf IBM i abrufen?

Zufällig musste ich Daten von IBM i (auch als AS400 bekannt) abrufen.

Was du machen willst

Ich möchte Daten unter IBM i abrufen und unter Linux oder Windows verwenden Möglicherweise möchten Sie die Daten in Ihrem System zum maschinellen Lernen oder zur Analyse verwenden. Wenn Sie einfach Python verwenden, können Sie es auch unter IBM i verarbeiten.

Dieses Mal möchte ich jedoch GPU für DL oder ML verwenden, daher muss ich die Daten unter Linux bringen. Dafür werde ich die Daten mit JDBC + Python abrufen.

Natürlich können Sie Java zum Abrufen der Daten verwenden. Dieses Mal habe ich mich für JDBC von Python entschieden, weil ich besser in Python bin. (DL und ML werden häufig in Python geschrieben, daher ist es möglicherweise einfacher, sie in diesen Prozess einzubeziehen.)

Versuchen Sie es mit JayDeBeApi

Dieses Mal werden wir "JayDeBeApi" als Python-Bibliothek verwenden, um die JDBC-API zu erreichen. https://github.com/baztian/jaydebeapi

Es werden viele DB-Typen unterstützt. Es gibt auch DB2!

Supported databases

In theory every database with a suitable JDBC driver should work. It is confirmed to work with the following databases:

SQLite Hypersonic SQL (HSQLDB) IBM DB2 IBM DB2 for mainframes Oracle Teradata DB Netezza Mimer DB Microsoft SQL Server MySQL PostgreSQL many more...

Vorbereitung

Dieses Mal läuft es unter Python 3.6.

Die Version jeder Software lautet wie folgt

Installation

Sie können es mit pip installieren.

pip install JayDeBeApi

Wenn die Version von JPype die neueste ist, ist zur Laufzeit ein Fehler aufgetreten, daher habe ich sie mit 0.6.3 neu installiert.

pip install JPype1==0.6.3 --force-reinstall

JDBC-Treibervorbereitung

Dieses Mal verwenden wir die Jar-Datei, die standardmäßig in IBM i enthalten ist. Da jt400.jar im folgenden Verzeichnis gespeichert ist, kopieren Sie es von IBM i in die zu verwendende Linux-Umgebung.

/QIBM/ProdData/HTTP/Public/jt400/lib/jt400.jar

Einfache Datenerfassung

Stellen Sie "", "" und "" entsprechend Ihrer Umgebung ein.

import jaydebeapi

conn = jaydebeapi.connect("com.ibm.as400.access.AS400JDBCDriver", "jdbc:as400://<hostname>", ["<user>", "<password>"], "/home/IBMi/jt400.jar",)

cur = conn.cursor()
cur.execute("select * from TSLIB.WORKDAY")
cur.fetchall()

curs.close()
conn.close()

Durch Ausführen dieses Python-Skripts konnte ich die Daten von IBM i abrufen. Durch Ändern der SQL-Anweisung von "Ausführen" können Sie auch die Operation in der Datenbank ändern.

Recommended Posts

Versuchen Sie, die Datenbank unter IBM i mit Python + JDBC mithilfe von JayDeBeApi zu starten
[IBM Cloud] Ich habe versucht, über Cloud Funtions (Python) auf die Tabelle Db2 on Cloud zuzugreifen.
Ich habe versucht, Mine Sweeper auf dem Terminal mit Python zu implementieren
Probieren Sie die DB-Operation mit Python aus und visualisieren Sie sie mit d3
Ich möchte Lambda mit Python auf Mac AWS!
Ich erhalte eine Fehlermeldung, wenn ich versuche, Python mit pyenv in Catalina auf 3 Serien zu erhöhen
Versuchen Sie, Facebook mit Python zu betreiben
Hinweise zur Verwendung von rstrip mit Python.
Versuchen Sie, sich mit Python auf Ihrem PC automatisch bei Netflix anzumelden
Ich habe versucht, alle Bemerkungen von Slack mit Wordcloud (Python) zusammenzufassen.
Ich habe versucht, eine ToDo-App mit einer Flasche mit Python zu erstellen
Versuchen Sie, sich mit Python bei qiita anzumelden
Versuchen Sie eine Formel mit Σ mit Python
Ich wollte ABC160 mit Python lösen
Ich möchte Protokolle mit Python analysieren
Ich möchte mit aws mit Python spielen
Versuchen Sie, Excel mit Python (Xlwings) zu betreiben.
Ich wollte ABC172 mit Python lösen
[Python] Ich habe versucht, die Nacht der Galaxienbahn mit WordCloud zu visualisieren!
Setzen Sie Cabocha 0.68 in Windows ein und versuchen Sie, die Abhängigkeit mit Python zu analysieren
Ich möchte Twitter mit Python twittern, bin aber süchtig danach
Ich habe es mit den Top 100 PyPI-Paketen versucht.> Ich habe versucht, die auf Python installierten Pakete grafisch darzustellen
Ich möchte MATLAB feval mit Python verwenden
Strategie zur Monetarisierung mit Python Java
Ich wollte den NOMURA Contest 2020 mit Python lösen
Ich möchte mit Python eine E-Mail von Google Mail senden.
Versuchen Sie, das Mensch-Maschine-Diagramm mit Python zu lösen
Versuchen Sie, das Dokument der Azure-Dokumentdatenbank mit pydocumentdb zu extrahieren
Versuchen Sie, mit Python eine Lebenskurve zu zeichnen
Ich möchte ein Spiel mit Python machen
Python: Versuchen Sie, die Benutzeroberfläche von Pythonista 3 auf dem iPad zu verwenden
Ich wollte Python 3.4.3 mit Homebrew + pyenv installieren
Ich habe versucht, CloudWatch-Daten mit Python abzurufen
Ich habe versucht, Mecab mit Python2.7, Ruby2.3, PHP7 zu verwenden
Versuchen Sie, in Python einen "Entschlüsselungs" -Code zu erstellen
Drei Dinge, von denen ich süchtig war, als ich Python und MySQL mit Docker verwendete
Versuchen Sie, Python-Dokumente automatisch mit Sphinx zu generieren
Ich möchte Temporäres Verzeichnis mit Python2 verwenden
Versuchen Sie, mit Mongo in Python auf dem Mac zu arbeiten
Einführung in Python mit Atom (unterwegs)
#Unresolved Ich möchte Gobject-Introspection mit Python3 kompilieren
Ich möchte APG4b mit Python lösen (Kapitel 2)
Versuchen Sie, mit Python eine Diedergruppe zu bilden
Wenn ich versuche, Jupiter Notebook auf einem Mac zu verwenden, kann ich nur Python2 auswählen
Ich bin ein Amateur am 14. Tag von Python, aber ich möchte maschinelles Lernen mit Scicit-Learn ausprobieren
Ich möchte mit Python in eine Datei schreiben
Erstellen Sie eine Python-Ausführungsumgebung unter IBM i
Stellen Sie mit Python auf Raspberry Pi eine Verbindung zu MySQL her
Versuchen Sie, Fische mit Python + OpenCV2.4 (unvollendet) zu erkennen.
Ich habe versucht, ein Projekt mit Python on Docker mit PyCharm zu erstellen, aber es hat mit Docker Compose funktioniert
Die erste künstliche Intelligenz. Ich wollte die Verarbeitung natürlicher Sprache ausprobieren, daher werde ich die morphologische Analyse mit MeCab mit Python3 versuchen.
Virtualisieren (isolieren) Sie die IBM i Python-Entwicklungsumgebung mit chroot
Versuchen Sie, das Programmier-Herausforderungsbuch mit Python3 zu lösen
Lassen Sie uns ein Befehls-Standby-Tool mit Python erstellen
Ich möchte die Optimierung mit Python und CPlex behandeln
Ich habe versucht, mit Blenders Python script_Part 01 zu beginnen
(Python) Versuchen Sie, eine Webanwendung mit Django zu entwickeln
Ich habe versucht, eine CSV-Datei mit Python zu berühren
Installieren Sie Selenium auf Ihrem Mac und probieren Sie es mit Python aus