我想将数据插入PostgreSQL
数据库但是当我尝试插入数据时没有存储在数据库中并且没有生成错误因此我无法找出错误是什么,请帮助< / p>
#!/usr/bin/python
import psycopg2
import psycopg2.extras
import sys
con = None
try:
con = psycopg2.connect("dbname='mydb' user='merlin' host='192.168.0.104' password='merlin123'")
cursor = con.cursor(cursor_factory=psycopg2.extras.DictCursor)
cursor.execute("SELECT * FROM table1")
rows = cursor.fetchall()
except psycopg2.DatabaseError, e:
print 'Error %s' % e
finally:
if con:
con.close()
try:
con = psycopg2.connect("dbname='mydb2' user='merlin' host='192.168.0.104'")
cursor = con.cursor(cursor_factory=psycopg2.extras.DictCursor)
query = "INSERT INTO table3 VALUES ('%s', '%s', '%d' , %s)" % (raw[0][0], raw[0][1],raw[0][2],0)
#while raw!=None:
cursor.execute(query)
con.commit()
except psycopg2.DatabaseError, e:
print 'Error %s' % e
finally:
if con:
con.close()
sys.exit(1)
有人可以帮忙解决错误吗?
答案 0 :(得分:1)
您的问题没有看到异常堆栈跟踪是因为您在sys.exit(1)
子句中正在执行finally
- 因此您在python有机会显示错误之前退出。
我会大量简化你的脚本(注释掉不必要的部分),然后在你需要的时候逐渐增加你需要的复杂性。
BTW我认为错误将是raw
未定义