我正在尝试为我的数据库应用程序创建一些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 + ";")
仍然感谢您的帮助。
听起来您正在对传递的无效值进行假设。
第一步是打印出值或在调试器中逐步查看它们的真正含义。确保没有多余的空格或换行符使整个作品混乱。
打赌一旦有了一些数据,它将很容易发现。
您可以尝试使用此代码。希望对您有所帮助:
cnxn = pyodbc.connect(DRIVER='{Microsoft ODBC for Oracle}',UID='username',PWD='password',SERVER='servername',u_val, p_val, s_val)