我安装了psycopg2模块,因为我想将blob文件发送到数据库。但是我遇到了错误。
AttributeError: 'psycopg2.extensions.connection' object has no attribute 'execute'
这是我的代码,怎么了?
conn = psycopg2.connect(database='SECRET', user='SECRET',
password='SECRET', host='SECRET',
port=5432)
cursor = conn.cursor()
cursor.execute("SELECT gen_random_uuid();")
id = cursor.fetchone()[0]
drawing = open("cat.jpg", 'rb').read()
conn.execute("INSERT INTO files(uuid, filename, data) VALUES(%s,%s,%s)", (id, "cat.jpg",
psycopg2.Binary(drawing)))
conn.commit()
答案 0 :(得分:1)
第二个执行使用连接而不是游标。 替换此行:
conn.execute("INSERT INTO files(uuid, filename, data) VALUES(%s,%s,%s)", (id, "cat.jpg", psycopg2.Binary(drawing)))
具有:
cursor.execute("INSERT INTO files(uuid, filename, data) VALUES(%s,%s,%s)", (id, "cat.jpg", psycopg2.Binary(drawing)))
应该解决问题。
答案 1 :(得分:-1)
您应该在安装page之后安装软件包pip install psycopg2-binary
,我引用
您还可以获得独立的软件包,不需要编译器或外部库