我正在尝试使用pyodbc连接到Windows Server 2008 R2 localhost上的MySQL 5.6.我在localhost上使用了MysqL实例的完整安装,包括ODBC连接器.我把它连接到一个远程sql Server实例很漂亮,但对于我的生活,我无法让它连接到本地MysqL实例.我使用这个guide from connectionstrings.com作为参考.
这是一些代码:
import pyodbcdef 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 worksconn = create_MysqL_conn() # This one breakscursor = 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驱动程序,则必须单击“添加”.它会d出一个列表,从该列表中选择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;')
这应该工作,或者至少它解决了我的连接问题,因为我遇到了各种不同的错误.这就是为我解决问题的原因. 总结
以上是内存溢出为你收集整理的pyodbc MySQL Windows:找不到数据源名称,也没有指定默认驱动程序全部内容,希望文章能够帮你解决pyodbc MySQL Windows:找不到数据源名称,也没有指定默认驱动程序所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)