作者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://www.ptt.cc/bbs/C_Sharp/M.1461058148.A.692.html
推 evil2004: 雖然沒用.NET連過MySQL, 不過問題出在Open() 八九不離十 04/19 18:41
→ evil2004: 檢查防火牆,檢查My.ini,檢查帳密有沒有打錯 04/19 18:42
→ evil2004: 再不然就把Throw出來的Exception貼到Google查 04/19 18:43
→ funnytseric: 感謝Evil大回應,我試試看 04/19 18:53
→ gamer880831: c#可以直接參考官網給的dll 04/21 21:34
→ 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