Jack,

Didn't IBM/Kevin Adler release something for Django and DB2 for i ?

I seem to recall playing with it a while back, but could not find my notes.

Regards,
Richard Schoen
Web: http://www.richardschoen.net
Email: richard@xxxxxxxxxxxxxxxxx
------------------------------

message: 2
date: Wed, 18 Nov 2020 09:29:29 -0700
from: Jack Woehr <jwoehr@xxxxxxxxxxxxxxxxxxxxxxxx>
subject: Re: [IBMiOSS] Query IBMi From Django

You mean, effectively, connect from Python, correct?
*ODBC* for choice.
Driver comes in the Application Package with iACS.

On Wed, Nov 18, 2020 at 8:24 AM Quintin Holmberg <qholmberg@xxxxxxxxxxxxxxxx>
wrote:


For those of you who are, what method did you use to connect to the
IBMi databases?


Here's my (sanitized) .odbc.ini on my workstation:

[IEXAMPLE]
Description=IBM i Access ODBC Driver
Driver=IBM i Access ODBC Driver
System=iexample.example.com
UserID=jwoehr
Password=foobar2u
Naming=0
DefaultLibraries=QGPL
Database=A1234567
ConnectionType=0
CommitMode=2
ExtendedDynamic=1
DefaultPkgLibrary=QGPL
DefaultPackage=A/DEFAULT(IBM),2,0,1,0,512
AllowDataCompression=1
MaxFieldLength=32
BlockFetch=1
BlockSizeKB=128
ExtendedColInfo=0
LibraryView=ENU
AllowUnsupportedChar=0
ForceTranslation=0
Trace=0

Here's a connect example:

import pyodbc

cn = pyodbc.connect("DSN=IEXAMPLE")
cursor = cn.cursor()
cursor.tables()
rows = cursor.fetchall()
for row in rows:
print(row.table_name)
cursor.close()

cursor = cn.cursor()
try:
cursor.execute("Select * from ICECREAMP") # in default library QGPL (see odbc.ini above)
rows = cursor.fetchall()
for row in rows:
print(row)
except:
print('cursor.execute("Select * from ICECREAMP") didn''t work.')
finally:
cursor.close()
--
Jack Woehr
Absolute Performance, Inc.
12303 Airport Way, Suite 100
Broomfield, CO 80021

This thread ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2020 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].