RJDBC读MYSQL数据库读不出内容问题及解决

来源:互联网 发布:apache 文件访问权限 编辑:程序博客网 时间:2024/05/05 06:18

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')


0 0