python mxodbc 大对象问题

python mxodbc 大对象问题

往postgresql里存储一个大对象(bytea)
import mx.ODBC.Windows
conn=mx.ODBC.Windows.Connect(dsn, user, pass)
cur=conn.cursor()
f=open('e:/test/asdf.txt', 'rb')
cur.execute("insert into python(data) values('%s')" % b)
这个用以上的代码,如果文件是ascii文件,是可以的,但如果
是二进制的就出错
网上查了一条:
cursor.execute("""INSERT INTO document (content)
VALUES (%s)""" , (txt,))
但是也不行,一下是error code:
    cur.execute("""insert into python (data) values(%s)""",(b,))
mxODBC.InterfaceError: number of parameters in tuple 0: expected 0, found 1
问一下各位大侠,这个到底应该怎样写?
试试
cursor.execute('INSERT INTO ... VALUES (?)', (b))

参考
http://aspn.activestate.com/ASPN/Mail/Message/db-sig/729803