In diesem Beispiel verwenden Sie die die Klasse SQLError des Moduls sdb.sql. Um Ausnahmen dieser Klasse zu erzeugen, führen Sie folgende Fehlersituationen herbei: Sie führen eine SELECT-Anweisung mit einem falschen Spaltennamen aus und Sie führen eine SQL-Anweisung mit einem falschen Parameter aus.
...
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-Anweisung mit einem falschen Spaltennamen
# unknown ausführen (Fehler in der SQL-Anweisung)
#----------------------------------------------------
select = "SELECT unknown FROM hotel.customer"
try:
cursor = session.sql (select)
except sdb.sql.SQLError, err:
print "ERR [%d] %s" % (err.errorCode, err.message)
print select
print ("=" * (err.errorPos - 1)) + '^'
#
# SQL-Anweisung mit einem falschen Parameter ausführen
# (Fehler während der Ausführung der SQL-Anweisung)
#-----------------------------------------------------
try:
count = session.sqlX ("""INSERT INTO hotel.customer
VALUES (?,?,?,?,?,?)""", ['wrong_data_type', 'Mrs', 'Jennifer', 'Parker', '10590', '0 N.Ash Street, #6'])
except sdb.sql.SQLError, err:
print "ERR [%d] %s" % (err.errorCode, err.message)
#
# Verbindung zur Datenbankinstanz beenden
# ----------------------------------------------------
session.release ()
2. Rufen Sie das Python-Skript auf:
python sample_6.py MONA RED DEMODB
ERR [-4005] Unknown column name:UNKNOWN
SELECT unknown FROM hotel.customer
=======^
ERR [-817] Incompatible data types
Siehe auch: