问题
I have a .ini(configuration file) where i have mentioned the server name, Database Name, UserName and Password with which i can connect my app to the MSSQL
self.db = pyodbc.connect('driver={SQL Server};server=homeserver;database=testdb;uid=home;pwd=1234')
corresponding data mentioned above connect statement is now in 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'))'
How will i pass these variables in the pyodbc connect statement
i tired this
self.db = pyodbc.connect('driver={Driver};server=server;database=db;uid=user;pwd=password')
getting error.
回答1:
self.db = pyodbc.connect('driver={%s};server=%s;database=%s;uid=%s;pwd=%s' % ( driver, server, db, user, password ) )
%s is used to include variables into the string
the variables are placed into the string according to their order after the %
回答2:
Other options for the connect function:
# 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')
来源:https://stackoverflow.com/questions/10084969/how-can-i-pass-configuration-variable-values-into-the-pyodbc-connect-command