2014-09-30 2 views
1

데이터베이스에 연결하는 스크립트가 있습니다. 나는 서버, 사용자, 암호, 스크립트에서 db를 꺼내서 설정 파일에 넣고 싶습니다. 나는 성공적으로 설정 파일에서 값을 가져온다. 문제는 구문에 변수가있을 때 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

실행이 연결 속성과 연결된 SQL Server 데이터베이스를 검색하고 config 파일에서 읽은 값이 정확한지 확인하는 방법입니다. – Celeo

+1

값은 내가 기대하는 값입니다. 콘솔에서 실행할 때 "Server1", "Joe", "MyPass", "MyDB"라고 표시됩니다. 그 여분의 따옴표로 인해 문제가 발생합니까? – VonHugenstein

+0

전체 오류를 붙여 넣을 수 있습니까? – Celeo

답변

0

이 내가 쉘에서

**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)