SSRS使用MySql作為資料來源遇到的問題。
因為工作需求,SSRS需要取到MySql資料來源,還好有了ODBC。
谷歌了很多,都是不完整的Solution,放上完整版的供大家評價參考。
下面是StepByStep.
問題1、使用ODBC資料來源,填入正確的MySql連線字串,卻顯示:ERROR [IM002] [Microsoft][ODBC 驅動程式管理器] 未發現數據源名稱並且未指定預設驅動程式.
分析:因為系統沒有MySql的驅動,所以ODBC無法解析。需要安裝MySql-ODBC。一般MySql都是32位的,因此下載32位MySql-ODBC
注意事項:安裝過程中有2個小問題,①選擇哪個模式安裝,typic和complete這2種安裝模式都可以,如果想方便,直接下一步。②進度條几乎不動,不要理他,一會就安裝OK。
問題2、安裝完成之後,再新增資料來源,發現,仍然報錯。ERROR [IM002] [Microsoft][ODBC 驅動程式管理器] 未發現數據源名稱並且未指定預設驅動程式.
如下圖。
分析:出現上述問題在於,我們雖然安裝好了驅動,但是還沒有通過ODBC引用這個驅動。
Solution:通過ODBC管理器新增對MySql的引用。
注意事項:①64位系統有64位的ODBC管理器和32位的ODBC管理器。
64位的就在:控制面板-->管理工具-->資料來源(ODBC)
32位的就在:C:\Windows\SysWOW64\odbcad32.exe
其實我很疑惑的一點,看上面資料夾路徑明顯是64位的ODBC管理器,但是就是找不到64位的MySql-ODBC驅動。
一定要在32位的ODBC中新增對驅動的引用,否則仍然會報錯。
如上圖,點選系統DSN-->新增-->安裝的MySql的2個驅動(2個都引用)
Data Source Name這個要記住,呆會要引用。
TCP/IP Server:伺服器IP;Port:MySql埠號,一般預設,如果您在安裝MySql服務端做過改變,就填寫更改後的埠號。
User,Password 巴拉巴拉一堆填上去,等填完帳號密碼,Database就可以選擇您的資料庫了。點選Test。彈出OK。大功告成。
同樣方法引用好2個驅動。然後回到我們的SSRS中新增資料來源。
在連線字串中填入dsn=(上面的Data Source Name),然後新增資料集,然後欄位就出現啦。
後續 By 2016-04-18
上面的步驟是在windows 7環境下部屬的。
今天在windows server 2008 r2上部屬的時候,發現仍然報錯。
在網上搜索了一些解決方案,感覺不太靠譜。有些其實靠譜的答案,但是附加了過時的執行時環境,導致有很多誤導的地方。
下圖提供的連結,下載後安裝,可以解決上面的報錯。
解決問題之後,我再回過頭來理理其他的解決方案。發現其他很多被我嘗試過的解決方案也是對的,只不過下面這個連結提供的執行時環境是最新的。以前的都是2010的執行時。有一些環境可能後來又更新過。
mark以備後續使用。