2014-09-30 90 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) 
相關問題