Essayez de piquer la base de données sur IBM i avec python + JDBC à l'aide de JayDeBeApi

Python peut-il récupérer des données sur IBM i?

Par chance, j'ai été obligé de récupérer des données d'IBM i (également connu sous le nom d'AS400).

Chose que tu veux faire

Je souhaite récupérer des données sur IBM i et les utiliser sous Linux ou Windows Vous souhaiterez peut-être utiliser les données de votre système pour l'apprentissage automatique ou l'analyse. Si vous utilisez simplement Python, vous pouvez également le traiter sur IBM i.

Cependant, cette fois, je souhaite utiliser GPU pour DL ou ML, je dois donc apporter les données sur Linux. Pour cela, je vais extraire les données avec JDBC + Python.

Bien sûr, vous pouvez utiliser Java pour récupérer les données. Cette fois, j'ai décidé d'utiliser JDBC de Python car je suis meilleur en Python. (DL et ML sont souvent écrits en Python, il peut donc être plus facile à inclure dans ce processus)

Essayez d'utiliser JayDeBeApi

Cette fois, nous utiliserons JayDeBeApi comme bibliothèque Python pour accéder à l'API JDBC. https://github.com/baztian/jaydebeapi

Il prend en charge de nombreux types de bases de données. Il y a aussi 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...

Préparation

Cette fois, il fonctionne sur Python 3.6.

La version de chaque logiciel est la suivante

Installation

Vous pouvez l'installer avec pip.

pip install JayDeBeApi

Si la version de JPype est la dernière, une erreur s'est produite lors de l'exécution, je l'ai donc réinstallée avec la version 0.6.3.

pip install JPype1==0.6.3 --force-reinstall

Préparation du pilote JDBC

Cette fois, nous utiliserons le fichier Jar fourni en standard avec IBM i. Puisque jt400.jar est stocké dans le répertoire suivant, copiez-le d'IBM i vers l'environnement Linux à utiliser.

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

Acquisition de données facile

Définissez «<nom d'hôte>», «» et «» en fonction de votre environnement.

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()

En exécutant ce script Python, j'ai pu obtenir les données d'IBM i. En changeant l'instruction SQL de ʻexecute`, vous pouvez également changer l'opération sur la base de données.

Recommended Posts

Essayez de piquer la base de données sur IBM i avec python + JDBC à l'aide de JayDeBeApi
[IBM Cloud] J'ai essayé d'accéder à la table Db2 on Cloud à partir de Cloud Funtions (python)
J'ai essayé d'implémenter Mine Sweeper sur un terminal avec python
Essayez le fonctionnement de la base de données avec Python et visualisez avec d3
Je veux AWS Lambda avec Python sur Mac!
J'obtiens une erreur lorsque j'essaie d'élever Python à la série 3 en utilisant pyenv dans Catalina
Essayez d'exploiter Facebook avec Python
Notes sur l'utilisation de rstrip avec python.
Essayez de vous connecter automatiquement à Netflix en utilisant python sur votre PC
J'ai essayé de résumer les remarques de tout le monde sur le slack avec wordcloud (Python)
J'ai essayé de créer une application todo en utilisant une bouteille avec python
Essayez de vous connecter à qiita avec Python
Essayez une formule utilisant Σ avec python
Je voulais résoudre ABC160 avec Python
Je veux analyser les journaux avec Python
Je veux jouer avec aws avec python
Essayez d'utiliser Excel en utilisant Python (Xlwings)
Je voulais résoudre ABC172 avec Python
[Python] J'ai essayé de visualiser la nuit du chemin de fer de la galaxie avec WordCloud!
Mettez Cabocha 0.68 dans Windows et essayez d'analyser la dépendance avec Python
Je veux tweeter Twitter avec Python, mais j'y suis accro
J'ai essayé avec les 100 meilleurs packages PyPI> J'ai essayé de représenter graphiquement les packages installés sur Python
Je veux utiliser MATLAB feval avec python
Stratégie sur la façon de monétiser avec Python Java
Je voulais résoudre NOMURA Contest 2020 avec Python
Je souhaite envoyer un e-mail depuis Gmail en utilisant Python.
Essayez de résoudre le diagramme homme-machine avec Python
Essayez d'extraire le document Azure document DB avec pydocumentdb
Essayez de dessiner une courbe de vie avec python
Je veux faire un jeu avec Python
Python: essayez d'utiliser l'interface utilisateur sur Pythonista 3 sur iPad
Je voulais installer Python 3.4.3 avec Homebrew + pyenv
J'ai essayé d'obtenir des données CloudWatch avec Python
J'ai essayé d'utiliser mecab avec python2.7, ruby2.3, php7
Essayez de créer un code de "décryptage" en Python
Trois choses auxquelles j'étais accro lors de l'utilisation de Python et MySQL avec Docker
Essayez de générer automatiquement des documents Python avec Sphinx
Je souhaite utiliser le répertoire temporaire avec Python2
Essayez de travailler avec Mongo en Python sur Mac
Introduction à Python avec Atom (en route)
#Unresolved Je veux compiler gobject-introspection avec Python3
Je veux résoudre APG4b avec Python (chapitre 2)
Essayez de créer un groupe de dièdre avec Python
Lorsque j'essaye d'utiliser le notebook Jupiter sur Mac, je ne peux sélectionner que python2
Je suis un amateur le 14e jour de python, mais je veux essayer l'apprentissage automatique avec scicit-learn
Je veux écrire dans un fichier avec Python
Créer un environnement d'exécution Python sur IBM i
Connectez-vous à MySQL avec Python sur Raspberry Pi
Essayez de détecter les poissons avec python + OpenCV2.4 (inachevé)
J'ai essayé de créer un projet en utilisant Python sur Docker avec PyCharm, mais cela a fonctionné avec Docker Compose
La première intelligence artificielle. Je voulais essayer le traitement du langage naturel, donc je vais essayer l'analyse morphologique en utilisant MeCab avec python3.
Virtualiser (isoler) l'environnement de développement IBM i python avec chroot
Essayez de résoudre le livre des défis de programmation avec python3
Faisons un outil de veille de commande avec python
Je veux gérer l'optimisation avec python et cplex
J'ai essayé de démarrer avec le script python de blender_Part 01
(Python) Essayez de développer une application Web en utilisant Django
J'ai essayé de toucher un fichier CSV avec Python
Installez le sélénium sur votre Mac et essayez-le avec python