Sql server 使用pyodbc库-Python在sql连接字符串中混合字符串和输入变量
我四处查看了一下,所以找不到这个问题 因此,我有一个ext config.txt文件,用于获取python程序中存储在变量中的值。python中有一个变量以字典形式存储key:values。(想法是它接受配置设置并从程序执行sql server查询) 我的代码如下所示(还显示打印语句的输出): 当我尝试运行第一行时,一切都按预期进行。但是,当我尝试第二行时,我得到:Sql server 使用pyodbc库-Python在sql连接字符串中混合字符串和输入变量,sql-server,python-3.x,variables,database-connection,pyodbc,Sql Server,Python 3.x,Variables,Database Connection,Pyodbc,我四处查看了一下,所以找不到这个问题 因此,我有一个ext config.txt文件,用于获取python程序中存储在变量中的值。python中有一个变量以字典形式存储key:values。(想法是它接受配置设置并从程序执行sql server查询) 我的代码如下所示(还显示打印语句的输出): 当我尝试运行第一行时,一切都按预期进行。但是,当我尝试第二行时,我得到: pyodbc.InterfaceError: ('IM002', '[IM002] [Microsoft][ODBC Driver
pyodbc.InterfaceError: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')
这与dict到字符串的转换有关吗?或者可能使用pyodbc?所以我设法找到了修复方法,看起来这是解析字符串的错误: 不正确:
odbc.connect('\''DRIVER='+ str(driver) + ' SERVER=' + str(server) + ' DATABASE=' + str(database) + ' Trusted_Connection='+ str(trusted)+'\'')
正确:
odbc.connect('DRIVER='+driver+';SERVER='+server+';DATABASE='+database+';Trusted_Connection='+trusted)
因此,我设法找到了修复程序,看起来这是解析字符串的错误: 不正确:
odbc.connect('\''DRIVER='+ str(driver) + ' SERVER=' + str(server) + ' DATABASE=' + str(database) + ' Trusted_Connection='+ str(trusted)+'\'')
正确:
odbc.connect('DRIVER='+driver+';SERVER='+server+';DATABASE='+database+';Trusted_Connection='+trusted)
您还可以使用f字符串:
f'DRIVER={DRIVER};服务器={SERVER};…'
您也可以使用f字符串:f'DRIVER={DRIVER};服务器={SERVER};…'代码>