r - 设置 RMySQL 的全局选项以在 R 中与 sqldf 一起使用
问题描述
我在使用 sqldf 和 Rpostgree 对列进行编码时遇到了很多问题(当我在包含西班牙语字母的数据集中进行查询时,它会将它们转换为奇怪的字符),因此我想迁移到 MYSQL,但是我发现它的文档太混乱了要将其与 sqldf 一起使用,我需要知道如何输入数据库的参数以将 sqldf 与我之前配置的数据库一起使用。
Postgree 的示例:
选项(sqldf.RPostgreSQL.user = “postgres”,sqldf.RPostgreSQL.password = “test”,sqldf.RPostgreSQL.dbname = “postgres”,sqldf.RPostgreSQL.host = “localhost”,sqldf.RPostgreSQL.port = 5432)
有人知道我如何检查特定包的选项,在本例中为 RMySQL。
解决方案
最后,在多篇文章中经过至少 3 个小时的曲折阅读后,我可以找到一种方法来配置 mysql 数据库以供 sqldf 使用并且不会在尝试中死去,我必须警告你这是唯一的工作方法,因为如果您使用 RMySQL 创建一个连接,然后将该连接用作 sqldf 中的参数,您将收到多个连接错误。
创建一个 my.cnf 文件
这是它工作所需的一切,它必须是 rs-dbi 因为这是 sqldf 用于执行查询的默认测试环境,此外,您必须首先使用旧的身份验证方法安装 mysql 数据库,如果您使用加密它会产生错误,因为 sqldf 驱动程序不支持它。
必须添加local-infile参数才能允许本地数据加载到mysql数据库,否则会产生错误。
[rs-dbi] 用户 = root 密码 = 测试端口 = 3310 默认字符集 = latin1 主机 = 127.0.0.1 数据库 = 测试 local-infile [mysql] local-infile [mysqld] local_infile = 1
- 只是 sqldf (x = test_query, drv = "RMySQL")
- 请享用。必须将所选数据库的编码作为 rs-dbi 中的默认值考虑在内,以避免在进行查询时出现编码错误。
推荐阅读
- ansible - 如何使用ansible远程安装exe,exe下载到控制机上
- html - 我有属性名称,但 req.body.name1 抛出未定义
- javascript - 如何使用 Joi 根据计算值验证对象?
- jenkins - 用于 JMeter 性能测试的 Hybris 服务器启动
- c# - 如果使用 lambda C# 有效,则应用过滤器
- matlab - 为什么这段代码不返回我的 3D 数组中元素的索引?
- azure - 使用托管版本访问 Microsoft Azure 存储资源管理器中的 FHIR 数据
- xodus - Jetbrains xodus 没有更多可用字节错误
- javascript - 如何修复这个 JavaScript 滑块代码?
- javascript - 如何使用 JavaScript 触发器或 AJAX 更改 WooCommerce 运输方式?