In this example you use the methods sql and getDescription of the sdb.sql module. You execute a SELECT statement that returns an object of the class SapDB_ResultSet (result set) and query information about the structure of the result set.
...
1. Create a Python script sample.py with the following contents:
#
# Import Python modules
# -------------------------------------------
import sys
import sdb.sql
#
# Connect to the database instance
# -------------------------------------------
database_user = sys.argv [1]
database_user_password = sys.argv [2]
database_name = sys.argv [3]
session = sdb.sql.connect (database_user, database_user_password, database_name)
select = """
SELECT title, name, cno FROM hotel.customer
WHERE cno BETWEEN 3000 AND 8000"""
#
# Execute a SELECT statement
# Result: object of the class SAPDB_ResultSet
# ----------------------------------------------
cursor = session.sql (select)
#
# The getDescription method returns
# a list of the column descriptions.
# ----------------------------------------------
descriptions = cursor.getDescription ()
for description in descriptions:
print '======================='
# Column name
print 'Name:', description [0]
# Type of the column as a string
print 'Type:', description [1]
# Type of the column as an integer
print 'Type:', description [2]
# Column length
print 'Len:', description [3]
# Number of decimal places
print 'Frac:', description [4]
# Result set columns are always required columns.
print 'Mandatory:', description [5]
# Result set columns are always output.
print 'in/out:', description [6]
#
# Close the session with the database instance
# --------------------------------------------
session.release ()
2. Call the Python script:
python sample.py MONA RED DEMODB
=======================
Name: TITLE
Type: Char
Type: 1
Len: 7
Frac: 0
Mandatory: 1
in/out: OUT
=======================
Name: NAME
Type: Char
Type: 1
Len: 20
Frac: 0
Mandatory: None
in/out: OUT
=======================
Name: CNO
Type: Fixed
Type: 3
Len: 4
Frac: 0
Mandatory: None
in/out: OUT