Please reload

Entradas recientes

IBM i (AS/400) todavía está en el negocio décadas después de su nacimiento y existe una demanda de profesionales.

August 24, 2020

1/10
Please reload

Entradas destacadas

Secuencia de comandos de Python que accede a datos de DB2: ejemplo simple.

September 14, 2020

La plataforma IBM i ha agregado paquetes de código abierto al sistema para permitir a los desarrolladores ejecutar software de código abierto común en su sistema.

 


Este documento es un ejemplo simple de cómo instalar Python y usarlo para consultar DB2 para i.


Está vagamente extraído de "Rompiendo PASE:


Accediendo al resto de su IBM i desde Python "

 

Pasos


1) Instale IBM i Access Client Solutions en un PC cliente y configure una conexión a un sistema IBM i.

 

2) Dentro de la consola ACS, acceda al menú desplegable "Herramientas" y seleccione "Administración de paquetes de código abierto"

 

3) Instale los paquetes python3; python3-pip; python3-ibm_db; y python3-itoolkit. Si no se han instalado paquetes de código abierto en su sistema, es probable que la instalación de estos paquetes incorpore paquetes de requisitos previos adicionales.

 

4) Desde la consola ACS, abra una Terminal SSH en el mismo IBM i.

 

5) Instale la biblioteca de Python PrettyTable.

 

$ pip3 install PTable

 

6) Cree un archivo con una extensión de ".py" y use un editor de texto para agregar el siguiente código fuente.

 

from prettytable import from_db_cursor
 import ibm_db_dbi as db2
 conn = db2.connect()
 cur = conn.cursor()
 cur.execute("select * from qiws.qcustcdt")
     print(from_db_cursor(cur))

 

7) Ejecute el script:

 

$ python3 kpretty.py


Salida:

 

 

marquis@MyIBMi:~/scripts$ python3 kpretty.py
+--------+----------+------+---------------+--------+-------+--------+--------+--------+---------+--------+
| CUSNUM |  LSTNAM  | INIT |     STREET    |  CITY  | STATE | ZIPCOD | CDTLMT | CHGCOD |  BALDUE | CDTDUE |
+--------+----------+------+---------------+--------+-------+--------+--------+--------+---------+--------+
| 938472 | Henning  | G K  | 4859 Elm Ave  | Dallas |   TX  | 75217  |  5000  |   3    |  37.00  |  0.00  |
| 839283 | Jones    | B D  | 21B NW 135 St | Clay   |   NY  | 13041  |  400   |   1    |  100.00 |  0.00  |
| 392859 | Vine     | S S  | PO Box 79     | Broton |   VT  |  5046  |  700   |   1    |  439.00 |  0.00  |
| 938485 | Johnson  | J A  | 3 Alpine Way  | Helen  |   GA  | 30545  |  9999  |   2    | 3987.50 | 33.50  |
| 397267 | Tyron    | W E  | 13 Myrtle Dr  | Hector |   NY  | 14841  |  1000  |   1    |   0.00  |  0.00  |
| 389572 | Stevens  | K L  | 208 Snow Pass | Denver |   CO  | 80226  |  400   |   1    |  58.75  |  1.50  |
| 846283 | Alison   | J S  | 787 Lake Dr   | Isle   |   MN  | 56342  |  5000  |   3    |  10.00  |  0.00  |
| 475938 | Doe      | J W  | 59 Archer Rd  | Sutter |   CA  | 95685  |  700   |   2    |  250.00 | 100.00 |
| 693829 | Thomas   | A N  | 3 Dove Circle | Casper |   WY  | 82609  |  9999  |   2    |   0.00  |  0.00  |
| 593029 | Williams | E D  | 485 SE 2 Ave  | Dallas |   TX  | 75218  |  200   |   1    |  25.00  |  0.00  |
| 192837 | Lee      | F L  | 5963 Oak St   | Hector |   NY  | 14841  |  700   |   2    |  489.50 |  0.50  |
| 583990 | Abraham  | M T  | 392 Mill St   | Isle   |   MN  | 56342  |  9999  |   3    |  500.00 |  0.00  |
+--------+----------+------+---------------+--------+-------+--------+--------+--------+---------+--------+

 

 

 

 

Otros Tips:

 

 

 

 

 

 

 

 

 

 

 

 

Share on Facebook
Share on Twitter
Please reload

Síguenos