R連線mysql資料庫方法詳解

2022-11-24 20:01:19 字數 1662 閱讀 2473

warning messages:

1: in odbcdriverconnect("dsn=rdata;uid=root") :[rodbc] error: state im002, code 0, message [microsoft][odbc 驅動程式管理器] 未發現資料來源名稱並且未指定預設驅動程式

當r語言從資料庫取出資料時,出現以上錯誤,這是由於未配置odbc資料來源引起的錯誤,以下將介紹該問題的解決方案,同時介紹r連線mysql資料庫的方法

一、配置odbc資料來源

密碼:g8ha 注意:該軟體包適用於windows 64位

】2.安裝好了mysql odbc

> install.packages( "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版本是隻針對有限的字符集的範圍。