 
 |
You Are Here: SAP DB > Interfaces > sapdb.sql > Example
Working with LONG Columns (Python)
#
# longtest.py call as
# python longtest.py <user> <pwd> <db> [<host>]
#
import sys
import sapdb.sql
user = sys.argv [1]
pwd = sys.argv [2]
dbname = sys.argv [3]
if len (sys.argv) > 4:
host = sys.argv [4]
else:
host = ''
# connect to db
session = sapdb.sql.connect (user, pwd, dbname, host)
try:
session.sql ('drop table longtest');
except:
pass
session.sql (
"create table longtest (a char (10), longval LONG)")
# use the read method of a stream
longval = open ('d:/v72/longin.py', "r").read
session.sqlX ('insert into longtest set a = ?, longval = ?',
['key', longval])
# or use a string
session.sqlX ('insert into longtest set a = ?, longval = ?',
['key2', 'x' * 40000])
session.commit ()
(longResult,) = session.sql (
'select longval into ? from longtest')
print longResult
count = 0
while 1:
data = longResult.read (1000)
if len (data) == 0:
break
count = count + len (data)
print "long content: (%d)" % count
(longResult,) = session.sql (
'select longval into ? from longtest')
# read everything in one step
print "long content: (%d bytes)" % len (longResult.read ())
|
|
|