RJDBC讀MYSQL數據庫讀不出內容問題及解決

1、RJDBC對字符比較挑,沒有配置好,則讀不出內容,都出的空表,問題解決如下

加上這個?useUnicode=true&characterEncoding=UTF-8即可。


具體做法:

s1:下載驅動 mysql-connector-java-5.1.22.tar

s2:上傳到etc目錄,解壓到新建的文件夾 /jdbc    

tar -zxvf   mysql-connector-java-5.1.22.tar

移動到jdbc目錄

[root@elcndc2bdwd01t jdbc]# mv  mysql-connector-java-5.1.22 jdbc


在R中運行以下代碼即可

library(RJDBC)

drv<-JDBC("com.mysql.jdbc.Driver", "/etc/jdbc/mysql-connector-java-5.1.22-bin.jar",identifier.quote="`")

conn<-dbConnect(drv, "jdbc:mysql://10.37.xxx.xx:3306/soufang?useUnicode=true&characterEncoding=UTF-8", "root", "123456")

dbListTables(conn); #列出所有的數據表

LF <- dbGetQuery(conn, "SELECT * FROM houseproperty hp, housing h WHERE hp.housingId=h.housingId AND hp.city='廊坊'")

【報錯及解決】

> tx1 <- dbGetQuery(conn, sqlTX); #152175個用戶
Error in .jcall(rp, "I", "fetch", stride, block) : java.lang.OutOfMemoryError: Java heap space

原因:java虛擬機的最大內存太小,解決辦法,改爲-Xmx4g

> options(java.parameters='-Xmx4g')


發佈了32 篇原創文章 · 獲贊 11 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章