我有一个连接 PostgresSQL 的 python 脚本。下面是脚本。import psycopg2conn = psycopg2.connect('connection string')try: curr = conn.cursor() sql_strng = "SELECT * FROM tbl" ### Further operations###except(Exception, psycopg2.Error) as error: print("error",error)finally: if (conn): conn.close()当我从 Spyder 运行上面的代码时,它运行良好。但是当我尝试使用批处理脚本从命令提示符运行它时,它会给出如下所示的错误。我的批处理脚本:C:\Users\Anaconda3\python.exe \path\to\python\file上面的批处理脚本抛出错误如下。if(conn):NameError: name 'conn' is not defined我错过了什么?
2 回答
慕码人2483693
TA贡献1860条经验 获得超9个赞
您需要将连接字符串设为全局。还要为连接字符串放置一个异常处理程序,如下所示:
try:
conn = psycopg2.connect(connection string)
except Exception as e:
print(e)
这将告诉您您的连接是否已通过
慕村225694
TA贡献1880条经验 获得超4个赞
如果psycopg2.connect
抛出异常,conn = ...
则永远不会执行分配,这意味着当您到达时if (conn)
,conn
仍然未定义。
添加回答
举报
0/150
提交
取消