Maison >développement back-end >Tutoriel Python >Python se connecte à la base de données DB2
DB2 est un système de gestion de bases de données relationnelles développé par IBM aux États-Unis. Ses principaux environnements d'exploitation sont UNIX (y compris AIX d'IBM), Linux, IBM i (anciennement OS/400), z/OS et Windows. Version serveur. Aujourd'hui, nous allons discuter de la façon d'utiliser Python pour se connecter à la base de données DB2
J'ai rencontré une telle situation au travail. Le projet doit se connecter à la base de données relationnelle d'IBM (DB2). Il existe relativement peu de bibliothèques dans ce domaine. parmi lesquels ibm_db est une bibliothèque relativement simple à utiliser, et il existe des tutoriels sur Internet, mais elle semble inexacte, peu détaillée et pleine d'erreurs, je n'ai pas eu d'autre choix que de l'obtenir et. j'ai analysé le code source moi-même et je l'ai finalement obtenu.
Installation
Exigences environnementales :
La base de données DB2 est d'abord téléchargée directement depuis Baidu, j'ai téléchargé ces deux fichiers :
Téléchargez simplement celui pointé par la flèche. Je ne l'ai pas encore testé sous Linux.
API de base de données (je cherchais cette chose depuis longtemps et j'ai finalement trouvé la bonne) (Recherche introuvable : SQLAPI.zip)
Python2.7
VCForPython2.7
ibm_db (la bibliothèque principale, la bibliothèque ntx64_odbc_cli sera téléchargée lors de l'installation, et la variable IBM_DB_HOME sera détectée lors de l'installation, vous devez donc installer la base de données avant installation d'ibm_db)
Les modules ci-dessus se trouvent dans Il peut être trouvé en ligne, veuillez le télécharger et l'installer vous-même.
Création d'une base de données
Une fois la base de données installée, créez une nouvelle instance par défaut est DB2, puis créez une nouvelle base de données Le MYTEST que j'ai créé (dans. la base de données des opérations et la base de données des liens Veuillez noter la casse), méthode de ligne de commande :
Ouvrez le processeur de ligne de commande : (identité de l'administrateur)
Entrez et ? appuyez directement sur Entrée, la liste des commandes s'affichera, ouvrez le gestionnaire de base de données :
puis fermez-le. Il est plus pratique d'utiliser db2 data studio pour établir la base de données et. créer des tables. Créez un temporaire dans le répertoire racine lors de l'installation, décompressez le fichier, puis modifiez les propriétés de install.exe pour qu'il soit compatible avec Windows 7 et ouvrez-le avec les droits d'administrateur. Après l'installation, cliquez sur la gauche pour créer un. nouvelle base de données.
Remplissez la méthode ci-dessus. Utilisez le nom d'utilisateur et le mot de passe définis lors de l'installation de la base de données.
Une fois l'instance configurée et testée avec succès, vous pouvez créer la base de données.
Notez simplement le nom et l'alias de la base de données. Le reste ne sera pas renseigné car il est destiné aux tests. La configuration d'optimisation des performances sera examinée dans l'environnement officiel. Cliquez sur Exécuter pour créer. Le processus est un peu lent. Je ne sais pas si cela est dû à la configuration de la machine.
Le processus de création d'une table ne sera pas décrit en détail ci-dessous. Il est important de noter qu'avant de créer une table, vous devez d'abord créer un schéma et utiliser un schéma personnalisé pour créer la table.
Connectez-vous
Connectez-vous et importez directement la bibliothèque
Importez ibm_db_dbi.
import ibm_db_dbi conn = ibm_db_dbi.connect(“PORT=50000;PROTOCOL=TCPIP;”, host=db[“host”], database=db[“database”], user=db[“user”], password=db[“passwd”]) conn.set_autocommit(True) cursor = conn.cursor()
Connectez-vous à la base de données et configurez la soumission automatique
Requête
sql = “select * from testable” result = cursor.execute(sql)
Notez que la méthode de requête ci-dessus est erronée. La bonne réponse est la suivante :
sql = “select * from MYSCHEMA.TESTTABLE” result = cursor.execute(sql) rows = cursor.fetchall()
Le fonctionnement ici n'est pas différent de MySQL
Cet endroit a été trompé plusieurs fois des heures, T_T
insérer
sql = “insert into MYSCHEMA.TESTTABLE (“uuid”, “content”) values (‘%s', %s)” % (“1234567890”, “asdfghjkl”) result = cursor.execute(sql)
mettre à jour
sql = “update \”MYSCHEMA\”.\”TESTTABLE \” set \”content\” = ‘%s' where \”uuid\” = ‘%s'” % ( “aaa”, “1234567890”) result = cursor.execute(sql)
Si l'opération réussit, le résultat est Vrai. Faites attention aux guillemets de chaque affirmation. chemin.
Ce qui précède représente l'intégralité du contenu de l'utilisation de Python pour se connecter à la base de données DB2 partagée dans cet article. J'espère que cela sera utile à mes amis.
Pour plus d'articles sur la connexion de Python à la base de données DB2, veuillez faire attention au site Web PHP chinois !