2014-09-30 61 views
1

我有一个连接到数据库的脚本。我想从脚本中取出服务器,用户,密码,数据库并将其放入配置文件中。我成功地从配置文件拉入了值。我遇到的问题是,当语法中有变量时,pymssql.connect失败。我在下面粘贴了我的示例代码。这可能吗?我可以使用配置文件来保存连接字符串参数吗?

###database connection 
config = configparser.ConfigParser() 
config.read('test.config') 
server = config['DEFAULT']['SQLServer'] 
db = config['DEFAULT']['Database'] 
user = config['DEFAULT']['User'] 
password = config['DEFAULT']['Password'] 

###this works 
####conn = pymssql.connect(host='Server1', user='Joe',password='MyPass', database='MyDB') 

###this doesn't 
try: 
    conn = pymssql.connect(host=server, user=user,password=password, database=db) 
except Exception as e: 
    print(str(e)) 
    sys.exit() 
+0

运行这在一个壳体,并确保您从配置文件中读取值是准确的。 – Celeo 2014-09-30 18:31:42

+1

这些值是我所期望的。当我从控制台运行它时,我得到:“'Server1'”,“'Joe'”,“'MyPass'”,“'MyDB'”。那些额外的引号会导致问题吗? – VonHugenstein 2014-09-30 18:43:04

+0

你能粘贴完整的错误吗? – Celeo 2014-09-30 18:45:12

回答

0

这是我如何检索出的连接性能和连接SQL Server数据库

**App.ini file** 

[CoreContext] 
host=sservername.database.windows.net 
[email protected] 
password=password 
database=DeltaXCore 



**Connection.py file** 

appConfig = ConfigParser.ConfigParser() 
appConfig.read("App.ini") 
ConnectionString.HOST = appConfig.get("CoreContext", "host") 
CoreConnectionString.USER = appConfig.get("CoreContext", "user") 
CoreConnectionString.PASSWORD = appConfig.get("CoreContext", "password") 
CoreConnectionString.DATABASE = appConfig.get("CoreContext", "database") 



pymssql.connect(host=objdeltaxConnectionString.HOST, user=objdeltaxConnectionString.USER,password=objdeltaxConnectionString.PASSWORD, database=objdeltaxConnectionString.DATABASE) 
相关问题