【发布时间】:2014-09-30 18:29:22
【问题描述】:
我有一个连接到数据库的脚本。我想从脚本中提取服务器、用户、密码、数据库并将其放入配置文件中。我成功地从配置文件中提取了值。我遇到的问题是当我在语法中有变量时 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()
【问题讨论】:
-
在 shell 中运行它并确保您从配置文件中读取的值是准确的。
-
这些值是我所期望的。当我从控制台运行它时,我得到:“'Server1'”,“'Joe'”,“'MyPass'”,“'MyDB'”。这些额外的引号会导致问题吗?
-
你能粘贴完整的错误吗?
-
从控制台:>>> conn = pymssql.connect(server,user,password,db) Traceback(最近一次调用最后):文件“pymssql.pyx”,第 595 行,在 pymssql 中。连接 (pymssql.c:9251) 文件“mssql.pyx”,第 1829 行,在 _mssql.connect (_mssql.c:19198) 文件“_mssql.pyx”,第 597 行,在 _mssql.MSSQLConnection.__init_ i> (_mssql.c:5868) _mssql.MSSQLDriverException: 由于未知原因连接到数据库失败。
-
在处理上述异常的过程中,发生了另一个异常: Traceback (最近一次调用 last): File "
", line 1, in conn = pymssql.connect(server ,user,password,db) 文件“pymssql.pyx”,第 602 行,在 pymssql.connect (pymssql.c:9370) pymssql.InterfaceError: Connection to the database failed for an unknown reason.
标签: python python-3.x pymssql