mysql工作台无法导入pyodbc

snz8szmq  于 2021-06-18  发布在  Mysql
关注(0)|答案(4)|浏览(425)

我已经安装了mysql workbench v。我正在尝试运行迁移工具,但出现错误:

Could not import the pyodbc python module. You need pyodbc 2.1.8 or newer for migrations from RDBMSes other than MySQL.

我已安装pyodbc:

Python 3.7.0 (default, Sep 28 2018, 16:44:32) 
[GCC 8.2.1 20180831] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyodbc
>>> pyodbc.version
'4.0.24'

我怎样才能解决这个问题?

OS: Linux my-pc 4.19.0-3-MANJARO #1 SMP PREEMPT Sat Oct 27 22:40:22 UTC 2018 x86_64 GNU/Linux
qij5mzcb

qij5mzcb1#

有必要为它安装python版本2.7和pyodbc

0tdrvxhp

0tdrvxhp2#

在我的情况下,我试图使用sqlworkbench的数据库迁移向导将sqlserver表迁移到mysql,结果遇到了这个pyodbc错误。
在上面的@flo answer上构建windows 10:
卸载所有python安装(这一步可能是可选的,但我有很多安装,希望从头开始工作)
安装python 2.7.x 64位。在安装过程中,将python.exe注册到$path/命令行(这在默认情况下是未选中的,所以我必须启用它)。
安装64位mysql workbench(请参阅“其他下载”部分下的v8.0.22)
安装msvc++编译器for python(如此处所述,以解决“error:include environment variable is empty”错误)
打开cmd.exe(命令行)并键入:cd c:\python27\scripts
运行pip命令:pip install-iv pyodbc==2.1.8
在“c:\program files\mysql\mysql workbench 8.0 ce”下,将sql workbench的python27.dll副本重命名为python27.nodell
启动sql workbench>数据库菜单>迁移向导>单击“开始迁移”按钮,pyodbc错误将不再显示。

neekobn8

neekobn83#

我在windows上也遇到了同样的问题,用2.7版本替换python3.8版本是不够的。
这非常奇怪,因为当我启动python控制台时,我能够导入pyodbc模块。但是,当我启动mysql workbench安装目录中包含的python.exe时,模块无法加载(一个错误告诉我找不到dll,而没有告诉是哪个dll)。
我最初认为这与这两个上下文之间的sys.path差异有关,但在使路径相同之后,加载错误仍然存在。
最后,我在mysql workbench目录中找到了一个python27.dll文件,并将该文件重命名为python27.notdll(以防止if被加载)解决了pyodbc加载问题。
我不知道禁用这个dll会有什么副作用,但就python2.7已经安装并运行而言,我认为这不应该是一个问题。
无论如何,迁移向导现在正在工作。

cngwdvgl

cngwdvgl4#

我在mysql workbench v中也遇到了同样的问题。8.0.22. 通过安装python2.7并重命名python27.ddl来强制mysql工作台从python安装中使用它,解决了这个问题

相关问题