在 python 中连接到 mysql 函数错误

connection to mysql function error in python

请耐心等待我是一个 python 和编程菜鸟, 我正在编写一个函数来连接到 mysql 数据库

server = "localhost"
dbname = "db"
dbuser = "root"
dbpassword = "Klingon"
port = "3399"
driver = "{MySQL ODBC 5.3 ANSI Driver}"


def mysql_cnxn(driver, serverip, port, dbname, dbuser, dbpassword):

conns = "{0},{1},{2},{3},{4},{5}".format(driver, serverip, port, dbname, dbuser, dbpassword)

conn = pyodbc.connect(conns)
return conn

mysql_cnxn(driver, serverip, port, dbname, dbuser, dbpassword)

我目前收到以下错误:

pyodbc.InterfaceError: ('IM002', '[IM002] [Microsoft][ODBC 驱动程序管理器] 未找到数据源名称且未指定默认驱动程序 (0) (SQLDriverConnect ); [IM002] [Microsoft][ODBC 驱动程序管理器] 无效的连接字符串属性 (0)')

我确定我是如何调用该函数的,请帮忙。 如果有帮助,我正在使用 python 3.6.4。

如果你打印 conns 的值,你会看到它看起来像

{MySQL ODBC 5.3 ANSI Driver},localhost,3399, ...

这不是有效的 ODBC 连接字符串,因为它缺少必需的关键字。它应该看起来像

Driver={MySQL ODBC 5.3 ANSI Driver};Server=localhost;Port=3399; ...

有关详细信息,请参阅 connectionstrings.com 页 here

您可以使用 "mysql.connector" API 访问您在 MySQL 中的数据库。一些教程在这里: https://dev.mysql.com/doc/connector-python/en/connector-python-example-cursor-select.html