如何将配置变量值传递给pyodbc connect命令?

时间:2012-04-10 07:43:32

标签: python python-2.7 pyodbc pythoncard

我有一个.ini(配置文件),其中我提到了服务器名称,数据库名称,用户名和密码,我可以将我的应用程序连接到MSSQL

self.db = pyodbc.connect('driver={SQL Server};server=homeserver;database=testdb;uid=home;pwd=1234')

上面提到的相应数据连接语句现在在config.ini中 `     self.configwrite = ConfigParser.RawConfigParser()     configread = SafeConfigParser()     configread.read( '的config.ini')

driver = configread.get('DataBase Settings','Driver')
server = str(configread.get('DataBase Settings','Server'))
db = str(configread.get('DataBase Settings','Database'))
user = str(configread.get('DataBase Settings','Username'))
password = str(configread.get('DataBase Settings','Password'))'

我将如何在pyodbc connect语句中传递这些变量

我厌倦了这个 self.db = pyodbc.connect('driver={Driver};server=server;database=db;uid=user;pwd=password') 得到错误。

3 个答案:

答案 0 :(得分:7)

self.db = pyodbc.connect('driver={%s};server=%s;database=%s;uid=%s;pwd=%s' % ( driver, server, db, user, password ) )

%s用于将变量包含在字符串

变量根据%

之后的顺序放入字符串中

答案 1 :(得分:7)

connect功能的其他选项:

# using keywords for SQL Server authentication
self.db = pyodbc.connect(driver=driver, server=server, database=db,
                         user=user, password=password)

# using keywords for Windows authentication
self.db = pyodbc.connect(driver=driver, server=server, database=db,
                         trusted_connection='yes')    

答案 2 :(得分:0)

Mixing strings and input variable in sql connection string using pyodbc library - Python 灵感来自这个答案

`conn=pyodbc.connect('Driver={SQL Server};'
                    'Server='+servername+';'
                    'Database=master;'
                    'UID=sa;'
                    'PWD='+pasword+';'
                    )`