In diesem Beispiel verwenden Sie die Methoden sql und getDescription des Moduls sdb.sql. Sie führen eine SELECT-Anweisung aus, die als Ergebnis ein Objekt der Klasse SapDB_ResultSet liefert (Ergebnismenge), und fragen Informationen zur Struktur der Ergebnismenge ab.
...
1. Erstellen Sie ein Python-Skript sample.py mit folgendem Inhalt:
#
# Python-Module importieren
# -------------------------------------------
import sys
import sdb.sql
#
# Verbindung zur Datenbankinstanz herstellen
# -------------------------------------------
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"""
#
# SELECT-Anweisung ausführen
# Ergebnis: Objekt der Klasse SAPDB_ResultSet
# ----------------------------------------------
cursor = session.sql (select)
#
# Die Methode getDescription gibt
# eine Liste der Spaltenbeschreibungen aus.
# ----------------------------------------------
descriptions = cursor.getDescription ()
for description in descriptions:
print '======================='
# Name der Spalte
print 'Name:', description [0]
# Typ der Spalte als String
print 'Type:', description [1]
# Typ der Spalte als ganze Zahl
print 'Type:', description [2]
# Länge der Spalte
print 'Len:', description [3]
# Anzahl der Nachkommastellen
print 'Frac:', description [4]
# Spalten von Ergebnismengen sind immer Pflichtspalten.
print 'Mandatory:', description [5]
# Spalten von Ergebnismengen sind immer Output.
print 'in/out:', description [6]
#
# Beenden der Sitzung mit der Datenbankinstanz
# --------------------------------------------
session.release ()
2. Rufen Sie das Python-Skript auf:
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