Can you send the full error text please? I'm not sure which is line 55 and Python normally displays the faulty line as part of the error trace.

As it is I can't see any reason for it to fail but I'd like to be sure I'm looking at the right place!

Also is there any reason why you explicitly call io.open() instead of just using the built-in open() directly? I know they are the same function but its quite unusual to use the io version explicitly...

--
Alan Gauld
Author of the Learn to Program web site
http://www.alan-g.me.uk/

The full error message is:

Traceback <most recent call last>:
   File "insert_into_db_v9.py", line 55, in <module>
WHERE testtable_n = %s""", data1, str(os.path.splitext(file)[0]))
TypeError: an integer is required

And i would want to add that str() is not the problem. I have tried without it and the problem persisted.

I have tried the following, too:

from pg8000 import DBAPI
import os
import os.path
import sys

# !!! that is test data. It must be changed
conn=DBAPI.connect(host="localhost", database="postgres", user="postgres", password="test")

#conn.cursor will return a cursor oject, you can use this cursor to perform queries
cursor = conn.cursor()

file = open( "C:\\Blender_Library\\BlenderLib\\objectLib\\Faqns\\Osaka2\\faqns_osaka_2.jpg", "rb" )
data1 = DBAPI.Binary(file.read())
data2 = 'faqns_osaka_2'
        
# execute our Query
cursor.execute("UPDATE testtable SET jpeg = %s WHERE testtable_n = %s", data1, data2)
sys.stdout.flush()                                              

# Save (commit) the changes
conn.commit()
                
# We can also close the cursor if we are done with it
cursor.close()

The problem this time was:
Traceback <most recent call last>:
   File "insertdb_pg8000.py", line 19, in <module>
cursor.execute("UPDATE testtable SET jpeg = %s WHERE testtable_n = %s", data1, data2)
   File "build\bdist.win32\egg\pg8000\dbapi.py", line 243, in _fn
TypeError: execute() takes at most 3 arguments (4 given)


_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to