加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 数据库 > MySql > 正文

pyodbc MySQL Windows:找不到数据源名称,也没有指定默认驱动程序

发布时间:2020-05-27 09:46:28 所属栏目:MySql 来源:互联网
导读:我正在尝试使用pyodbc连接到Windows Server 2008 R2 localhost上的MySQL 5.6.我在localhost上使用了MySQL实例的完整安装,包括ODBC连接器.我把它连接到一个远程SQL Server实例很漂亮,但对于我的生活,我无法让它连接到本地MySQL实例.我使用这个guide from conne

我正在尝试使用pyodbc连接到Windows Server 2008 R2 localhost上的MySQL 5.6.我在localhost上使用了MySQL实例的完整安装,包括ODBC连接器.我把它连接到一个远程SQL Server实例很漂亮,但对于我的生活,我无法让它连接到本地MySQL实例.我使用这个guide from connectionstrings.com作为参考.

这是一些代码:

import pyodbc

def create_mssql_conn():
    return pyodbc.connect(r'Driver={SQL Server};Server=MSSQLSRV;Database=ecomm;Trusted_Connection=yes;')

def create_mysql_conn():
    return pyodbc.connect(r'Provider=MSDASQL;Driver={MySQL ODBC 5.6 UNICODE Driver};Server=127.0.0.1;Database=ecomm;User=root;Password=myP@$$w0rd;Option=3;')

# conn = create_mssql_conn() # This one works
conn = create_mysql_conn() # This one breaks
cursor = conn.cursor()
cursor.execute('SELECT * FROM inventory')

while 1:
    row = cursor.fetchone()
    if not row:
        break
    print row

这是错误:

pyodbc.Error: ('IM002','[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')

我尝试了添加Provider = MSDASQL;在连接字符串中将ANSI更改为UNICODE.有什么建议? 最佳答案 我遇到了类似的问题.我使用的是Windows 8和mysql.

我解决问题的方法是进入我的

control panel>Systems and Security>Administrative Tools.>ODBC Data Sources

32位或64位版本,具体取决于您的计算机.

然后单击“系统DNS”文件.如果您没有看到任何MySQL驱动程序,则必须单击“添加”.它会弹出一个列表,从该列表中选择MySQL驱动程序.

对我来说,这是MySQL ODBC 5.3 ANSI(他们也有一个unicode驱动程序).点击完成.完成后,您必须将代码中的连接线更改为刚刚填写的相应驱动程序.

例如:

def create_mysql_conn():

 return pyodbc.connect(r'Driver={MySQL ODBC 5.3 ANSI Driver};Server=MSSQLSRV;Database=ecomm;Trusted_Connection=yes;')

这应该工作,或者至少它解决了我的连接问题,因为我遇到了各种不同的错误.这就是为我解决问题的原因.

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读