我正在尝试为我的数据库应用程序创建一些GUI。数据库是Oracle,我使用pyodbc和wxPython作为对话框。 当我尝试这样做时:
try:
cnxn = pyodbc.connect("DRIVER={Microsoft ODBC for Oracle};UID=XXX;PWD=YYY;SERVER=ZZZ;")
except:
print 'Conn failed!'
else:
cursor = cnxn.cursor()
有效。但是,如果我尝试将用户/传递/服务器值分配给变量,然后执行:
cnxn = pyodbc.connect("DRIVER={Microsoft ODBC for Oracle};UID=?;PWD=?;SERVER=?;",u_val, p_val, s_val)
失败了。
有什么想法吗?
///解决
管理赢得连接字符串。在一些干预之后,我找到了有效的解决方案:
cnxn = pyodbc.connect("DRIVER={Microsoft ODBC for Oracle};UID=" + user_val + ";PWD=" + pass_val + ";SERVER=" + db_val + ";")
无论如何,还要求帮助。
答案 0 :(得分:0)
听起来你正在假设你传递的值是无效的。
第一步是在调试器中打印或逐步打印值,看看它们到底是什么。确保没有任何无关的空白或换行字符。
一旦你掌握了一些数据,它就会很容易被发现。
答案 1 :(得分:-1)
您可以尝试使用此代码。希望对您有所帮助:
cnxn = pyodbc.connect(DRIVER='{Microsoft ODBC for Oracle}',UID='username',PWD='password',SERVER='servername',u_val, p_val, s_val)