Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过ODBC使用Python连接MySQL数据库时出现问题_Python_Mysql_Mysql Workbench_Pyodbc - Fatal编程技术网

通过ODBC使用Python连接MySQL数据库时出现问题

通过ODBC使用Python连接MySQL数据库时出现问题,python,mysql,mysql-workbench,pyodbc,Python,Mysql,Mysql Workbench,Pyodbc,我在建立到MySQL数据库的连接时遇到问题,无论我尝试或更改什么,我似乎都会遇到相同的错误。我希望能够使用python使用ODBC修改MySQL数据库,但作为一个新手,我不知道该怎么做。这是错误消息: 回溯(最近一次呼叫最后一次): 文件“C:\Users\Lutho\PycharmProjects\pyODBC\main.py”,第17行,在 conx=pyodbc.connect(f''DRIVER={DRIVER}; pyodbc.OperationalError:('08001','[0

我在建立到MySQL数据库的连接时遇到问题,无论我尝试或更改什么,我似乎都会遇到相同的错误。我希望能够使用python使用ODBC修改MySQL数据库,但作为一个新手,我不知道该怎么做。这是错误消息:

回溯(最近一次呼叫最后一次): 文件“C:\Users\Lutho\PycharmProjects\pyODBC\main.py”,第17行,在 conx=pyodbc.connect(f''DRIVER={DRIVER}; pyodbc.OperationalError:('08001','[08001][Microsoft][ODBC驱动程序17 for SQL Server]命名管道提供程序:无法打开到SQL Server的连接[53]。(53)(SQLDriverConnection);[08001][Microsoft][ODBC驱动程序17 for SQL Server]登录超时已过期(0);[08001][Microsoft][ODBC驱动程序17 for SQL Server]建立与SQL Server的连接时发生与网络相关或特定于实例的错误。找不到服务器或无法访问服务器。请检查实例名称是否正确,以及SQL Server是否配置为允许远程连接。有关详细信息,请参阅SQL Server联机丛书。(53)“”

我使用的代码:

import pyodbc

# define the server and database name
driver = '{ODBC Driver 17 for SQL Server}'
server = 'Local instance MySQL80'
database = 'tarsdb'
username = 'root'
password = '1234'

# define connection string
conx = pyodbc.connect(f'''DRIVER={driver}; 
                          SERVER={server}; 
                          DATABASE={database};
                          Uid={username};
                          Pwd={password};''')
# create connection cursor
cursor = conx.cursor()

我还尝试使用Trusted_Connection=yes,并将我的MySQL文件移动到与python文件相同的文件夹中,但没有任何效果。是否有我不知道的地方?如果您能解决我的问题,我将不胜感激。(如果问题看起来很混乱,请知道我在格式化它时遇到了问题。)

当目标数据库为MySQL时,问题是试图使用Microsoft SQL Server的ODBC驱动程序。ODBC驱动程序在不同的数据库产品之间不可互换


使用pyodbc和“MySQL Connector/ODBC”从Python连接到MySQL是可能的,但有更好的替代方法,特别是or。这两种方法都是可靠的选择,尽管在许多情况下mysqlclient比pymysql快得多。

为什么要使用用于
SQL Server
的驱动程序,即
{SQL Server的ODBC驱动程序17}<代码> >试图连接到<代码> MySQL< /Cord>数据库?您试图使用微软SQL Server的ODBC驱动程序连接到MySQL服务器。从Python连接到MySQL考虑使用“或”NRORE,我认为这是一回事,当您尝试连接到MySQL数据库时,它被视为一个服务器。@ Gordthppson,我将尝试THO。谢谢@GordThompson,我的程序现在似乎正在运行。我决定使用pymysql。