Skip Top Menu Navigation
Skip Top Menu Navigation

The FREE Enterprise Open Source Database

  Software Documentation Tools Interfaces Administration Development
 

 
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 ())


Search / Contact Info
See also ...












Questions or comments about the Web site? Contact the webmaster.