R連接mysql數據庫方法詳解


Warning messages:
1: In odbcDriverConnect("DSN=Rdata;UID=root") :  [RODBC] ERROR: state IM002, code 0, message [Microsoft][ODBC 驅動程序管理器] 未發現數據源名稱並且未指定默認驅動程序
當R語言從數據庫取出數據時,出現以上錯誤,這是由於未配置ODBC數據源引起的錯誤,以下將介紹該問題的解決方案,同時介紹R連接mysql數據庫的方法
一、配置ODBC數據源
1.下載mysql ODBC【http://dev.mysql.com/downloads/connector/odbc/】,如果覺得注冊麻煩可點擊我的網盤鏈接【鏈接:http://pan.baidu.com/s/1c0PWyHE 密碼:g8ha 注意:該軟件包適用於Windows 64位
2.安裝好了mysql ODBC之后添加,首先打開控制面板-管理工具-ODBC 數據源(對應自己系統打開相應數據源)

3.ODBC 數據源添加




4.設置ODBC數據源參數


以上完成了數據源的配置,接下來打開R軟件利用RODBC包連接mysql數據庫

二、下載並加載RODBC包
> install.packages( "RODBC" );#下載RODBC包
> library( "RODBC");#加載RODBC包
三、使用
1.建立並打開鏈接【odbcConnect( "數據源名稱",uid="用戶名",pwd="密碼" )】,返回mysql連接標識,數據源名稱為上面自己設置的
> con = odbcConnect( "Rdata",uid="root",pwd="" );#數據源:Rdata(設置時的名稱),用戶名:root,密碼為空

2.從數據庫讀取數據表,返回一個數據框【 sqlFetch( mysql連接標識,'表名' ) 】 > result1 = sqlFetch( conn,'test' );
> result1           #顯示結果
      name score
1 zhangsan    90
2   wangwu    98

3.向數據庫提交查詢【 sqlQuery( mysql連接標識,"sql命令" ) 】 > result2 = sqlQuery( conn,'select * from test where score>90' );
> result2
    name score
1 wangwu    98

4.關閉連接【 close( mysql連接標識 ) 】 > close( conn );

常見錯誤:
> conn = odbcConnect( "Rdata",uid="root",pwd="" )
Warning messages:
1: In odbcDriverConnect("DSN=Rdata;UID=root") : [RODBC] ERROR: state HY000, code 2003, message [MySQL][ODBC 5.3(a) Driver]Can't connect to MySQL server on '127.0.0.1' (10061)
2: In odbcDriverConnect("DSN=Rdata;UID=root") : ODBC connection failed
  
這可能是由於沒有打開mysql,只有打開后才能連接

補充:mysql ODBC ANSI driver 和Unicode drive區別:Unicode driver版本提供了更多字符集的支持,也就是提供了多語言的支持;而ANSI driver版本是只針對有限的字符集的范圍。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM