作者funnytseric (咩~~)
看板C_Sharp
标题[问题] odbc无法连接到本机MySQL资料库
时间Tue Apr 19 17:29:06 2016
最近因为工作需求,需要读取MySQL资料库的资料来做应用
因为最熟悉的语言是C#所以决定使用ODBC
但是因为对资料库非常陌生,所以连怎麽开启连线都不太会
Google老半天+尝试,现在已经会读取MS Access .mdb档案的资料
但是在MySQL却一直碰壁。
目前的状况是,安装好MySQL ODBC Driver 5.1版本
(因为网路上很多范例都是5.1,所以想说先别用最新版)
在控制台设定好资料来源,也确定驱动程式那一页有5.1 Driver
在使用者资料来源名称那一页输入好帐号密码等资讯後
测试连线会显示成功,但是到C#想要开Connection就一直失败
错误讯息是找不到资料来员名称且未使用预设的驱动程式
我尝试过的Connection String都是从Google复制来改的
有这两种:
1.myConn.ConnectionString = "DRIVER={MySQL ODBC 5.1 Driver};" +
"SERVER=localhost;" +
"PORT=17770" + //公司用的软体的MySQL port
"DATABASE=zkeco_db;" +
"UID=root;" +
"PASSWORD=root;";
myConn.Open();
2.myConn.ConnectionString = "Dsn=DSN_zkeco_db" + //在控制台设好的DSN
"DATABASE=zkeco_db;" +
"UID=root;" +
"PASSWORD=root;";
myConn.Open();
但这两个方法都一样,没有办法开启连线
请问这个问题可能是出在哪边? 感谢各位
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.255.52.35
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1461058148.A.692.html
1F:推 evil2004: 虽然没用.NET连过MySQL, 不过问题出在Open() 八九不离十 04/19 18:41
2F:→ evil2004: 检查防火墙,检查My.ini,检查帐密有没有打错 04/19 18:42
3F:→ evil2004: 再不然就把Throw出来的Exception贴到Google查 04/19 18:43
4F:→ funnytseric: 感谢Evil大回应,我试试看 04/19 18:53
5F:→ gamer880831: c#可以直接参考官网给的dll 04/21 21:34
6F:→ gamer880831: 应该是mysql.data这个档案 04/21 21:35
後来找到原因了,不知道为什麽从MySQL抓来的64bit安装档,都会把driver
装给system32里的odbc.exe,然後反倒它就装给sysWOW64里的odbc.exe
然後就可以连到我的目标资料库了。
另外也感谢gamer大,现在改用官网的mysql.data感觉更好用,3Q
※ 编辑: funnytseric (219.74.96.141), 04/21/2016 22:53:53