Python 通过字符串的数据库连接
Python DB-Connection via string
我在 Internet 上搜索了大约一个小时,但找不到解决我的问题的方法:
我正在尝试建立数据库连接。
如果我这样打开连接,一切正常:
db = pymysql.connect(host='127.0.0.1', user='python', db='test')
但是如果我想通过字符串建立连接,我会得到一个错误:
db_file = str("host='127.0.0.1', user='python', db='test'")
db = pymysql.connect(db_file)
错误信息:
pymysql.err.OperationalError: (2003, 'Can\'t connect to MySQL server on "host=\'127.0.0.1\', user=\'python\', db=\'test\'" ([Errno -2] Name or service not known)')
我希望有人能告诉我如何通过字符串(或其他可预定义的东西)设置数据库连接来帮助我
您正在将单个字符串作为参数传递给函数 pymysql.connect(),但它至少需要 3 个参数:host、user、db。
所以字符串 db_file 被加载为第一个参数(主机),其他两个没有任何内容,从而产生错误。
正确的做法是这样的:
host = '127.0.0.1',
user ='python'
db ='test'
db_conn = pymysql.connect(host, user, db)
更新:
如果您想直接使用连接文件,请尝试使用选项文件:
https://dev.mysql.com/doc/connector-python/en/connector-python-option-files.html
你不能像这样为多个参数传递一个字符串,你必须像这样将每个参数分配给它自己的变量;
host = '127.0.0.1'
user = 'python'
db = 'test'
db_connect = pymysql.connect(host, user, db)
我在 Internet 上搜索了大约一个小时,但找不到解决我的问题的方法:
我正在尝试建立数据库连接。 如果我这样打开连接,一切正常:
db = pymysql.connect(host='127.0.0.1', user='python', db='test')
但是如果我想通过字符串建立连接,我会得到一个错误:
db_file = str("host='127.0.0.1', user='python', db='test'")
db = pymysql.connect(db_file)
错误信息:
pymysql.err.OperationalError: (2003, 'Can\'t connect to MySQL server on "host=\'127.0.0.1\', user=\'python\', db=\'test\'" ([Errno -2] Name or service not known)')
我希望有人能告诉我如何通过字符串(或其他可预定义的东西)设置数据库连接来帮助我
您正在将单个字符串作为参数传递给函数 pymysql.connect(),但它至少需要 3 个参数:host、user、db。
所以字符串 db_file 被加载为第一个参数(主机),其他两个没有任何内容,从而产生错误。
正确的做法是这样的:
host = '127.0.0.1',
user ='python'
db ='test'
db_conn = pymysql.connect(host, user, db)
更新:
如果您想直接使用连接文件,请尝试使用选项文件:
https://dev.mysql.com/doc/connector-python/en/connector-python-option-files.html
你不能像这样为多个参数传递一个字符串,你必须像这样将每个参数分配给它自己的变量;
host = '127.0.0.1'
user = 'python'
db = 'test'
db_connect = pymysql.connect(host, user, db)