RMySQL 库适用于 R-64 位版本。但它仍然不适用于 32bit R 版本
因为我正在使用仅适用于 32 版本 R 的 statconn 工具(DCOM,rcom),
我需要使用 R-32 位版本访问 MySQL 数据库。
以下是我到目前为止所做的事情。
- 安装最新的 Rtools
- 安装 64 位 MySQL 客户端(32 位版本不起作用)
- C:\Program Files\R\R-2.12.1\etc\Renviron.site 并添加类似 MYSQL_HOME=C:/mysql 的行(mysql文件的路径)
- 将 libmysql.lib 复制到 (mysql/lib/opt, R_HOME\bin, windows\system32)
- install.packages('RMySQL',type='source')
- 将 R_HOME, MYSQL_HOME 正确设置为环境变量
- 将 R_HOME、MYSQL_HOME、Rtools 添加到路径。
错误信息:
RS-MySQL.o:RS-MySQL.c:(.text+0x2f23): undefined reference to `mysql_get_client_version@0'
RS-MySQL.o:RS-MySQL.c:(.text+0x2f44): undefined reference to `mysql_get_client_info@0'
RS-MySQL.o:RS-MySQL.c:(.text+0x2f71): undefined reference to `mysql_server_end@0'
collect2: ld returned 1 exit status
ERROR: compilation failed for package 'RMySQL'
* removing 'C:/Program Files/R/R-2.15.1/library/RMySQL'
如何在 64 位 MySQL 中使用 32 位 R 版本?
供您参考。
“RODBC”库适用于 64 位 R 版本,但适用于 32 位 R 版本