问题标签 [dbplyr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1626 浏览

r - dbplyr copy_to 不将表保存到数据库

我正在尝试将本地数据框从 R 复制到我的 db2 数据库。我有权写入表,并且我已验证连接正常。

我在用:

我收到以下错误,这对我来说没有意义。它说的对象不存在正是我要创建的对象。我究竟做错了什么?

typeof(x) 中的错误:找不到对象“my_table_name”

0 投票
1 回答
537 浏览

r - 使用 dplyr/dbplyr 添加 postgres 时间间隔

我在 R 中有一个数据库连接,并希望在 Postgres 中使用dplyr(v0.5)实现以下过滤步骤:

(见https://www.postgresql.org/docs/9.1/static/functions-datetime.html

我尝试了以下操作(这是我对 POSIX 对象所做的),但收到了这个错误:

这样做的正确方法是什么?

0 投票
1 回答
479 浏览

sql-server - 失败后如何从未来的 dplyr 查询中收集数据?

通常,当我尝试从 SQL Server 数据库收集大量数据时,我会从nanodbc驱动程序中收到一条神秘的错误消息。例如,

result_fetch(res@ptr, n, ...) 中的错误:nanodbc/nanodbc.cpp:2525:08S01:[Microsoft][ODBC Driver 11 for SQL Server]SSL Provider:[err

结果已清除

从那时起,我得到了错误

错误:'SELECT * FROM "result" AS "zzz13" WHERE (0 = 1)' nanodbc/nanodbc.cpp:1587: 08S01: [Microsoft] [ODBC Driver 11 for SQ

每当我尝试从数据库中的表中收集数据时。这一直持续到我重新启动我的 R 会话。

有没有人见过这种行为或者可以提供一种方法来解决它?

0 投票
1 回答
1394 浏览

sql-server - R:最佳实践 - dplyr 和 odbc 多表操作(从 SQL 检索)

假设您将表存储在 SQL Server 数据库中,并且您希望执行多表操作,即连接来自同一数据库的多个表。

以下代码可以交互并从 SQL Server 接收数据:

但是,使用相同的连接检索到一些结果,最终会出现以下错误:

错误:[Microsoft][ODBC SQL Server Driver]Connection is busy with results for another hstmt

我目前的谷歌搜索技能让我得到了后端不支持多个活动结果集(MARS)的答案——我猜最多有 2 个以上的活动结果集?(后端为 DBI 和 odbc)

所以,我的问题是:如果我想从 SQL DB 的多个表中收集数据,最佳实践是什么?

  • 为每个表打开一个连接?

  • 主动关闭连接并为下一张表再次打开它?

  • 后端是否支持将 MARS 解析为连接字符串?

0 投票
2 回答
1095 浏览

sql-server - 如何使用 dplyr 从 SQL Server 中的表中连接多个列的字符串?

作为标题,我想连接 SQL Server 表中的几列,我尝试使用如下paste函数但给出以下错误:

0 投票
2 回答
126 浏览

r - 如何使用窗口函数来确定何时执行不同的任务?

注意:我对 SQL 提出的类似问题 -如何使用窗口函数来确定何时在 Hive 或 Postgres 中执行不同的任务?

数据

我有一些数据显示了每人不同优先任务的开始日期和结束日期:

注意:任务键是有序的,因此较高的字母具有较高的优先级。

问题

我需要确定每个人每天应该完成的任务,条件是:

  1. 字母较高的任务优先于字母较低的任务。
  2. 如果较高字母的任务与较低字母任务的任何部分重叠,则较低字母的任务将设置为 NA(表示此人永远不应从事该任务)。

简化

在实际数据中,原始表中的 end_day 始终为 5,即只有 start_day 变化,而 end_day 是恒定的。这意味着我想要的输出将具有与原始表相同的行数:)

输出

这是我需要的那种输出(Jason 更能代表我拥有的数据,它可以是涵盖 90 天的 100 多个任务):

最初的想法

有效,但我想要一个使用 dbplyr 包函数的解决方案,并且通常比这更好:

跟进问题

最终我需要在 SQL 中执行此操作,但这似乎太难了。我听说“dbply”包可以帮助我,因为如果我可以使用 dplyr 函数解决这个问题,那么它会以某种方式将其转换为有效的 SQL 查询?

0 投票
1 回答
3592 浏览

r - dbplyr 将临时表中的字符更改为日期格式

我已经使用DBI::dbGetQuery.

即使在真正的查询(不是下面的播放查询)中, select convert(date, date_value) as date_value日期仍然存储为字符。

然后我尝试使用 改变代表日期的字符lubridate::ymd,但是我收到一条消息说

未找到日期值

我也试过了,convert(date, date_value)没用as.Date

如何将此字段用作日期?

注意:当我在 SQL Server 中编写以下内容时,date_value 显示为日期类型

针对@Kevin Arseneau 的评论,下图显示了执行show_query() 错误信息

0 投票
0 回答
185 浏览

r - 使用 RSQLite 和 dbplyr 将对象从 R 复制到 Dropbox 中的数据库文件

我正在使用 RStudio 将尺寸为 4.3M 行和 88 列的对象从 R 复制到我的 Dropbox 文件夹,该文件夹与我的笔记本电脑同步。我按照此代码的第一部分( https://github.com/tidyverse/dplyr/issues/3026)编写了以下代码行

我收到此错误消息:错误:dbplyr 包需要与数据库后端通信。

但是在我dbplyr使用安装包之后,install.packages("dbplyr"),我尝试加载library(dbplyr)只是为了得到以下消息

unloadNamespace(package) 中的错误:命名空间“rlang”由“hms”、“purrr”、“dplyr”、“tibble”、“tidyr”导入,因此无法卸载

库中的错误(“rlang”,lib.loc =“/Library/Frameworks/R.framework/Versions/3.3/Resources/library”):
无法卸载包'rlang'版本0.1.4

所以我尝试删除tidyerse(ver. 1.2.1)、dplyr(ver. 0.7.4),然后加载rlang(ver. 0.1.6) 和dbplyr(ver. 1.2.0),但 Rstudio 仍然给出相同的错误消息。

我的问题:如何正确卸载rlang(版本0.1.4)?ventra另外,我上面的代码是否按我的意愿工作(意思是,在我执行上面的 4 行代码后,我会在我的保管箱文件夹中获得一个名为的文件吗?)

0 投票
3 回答
1199 浏览

r - 是否可以直接在类 tbl_sql(或 tbl_dbi)上运行 SQL 查询?

示例代码:

返回:

显然我可以在 con 上使用 dbGetQuery,但想知道是否有办法让它直接在 d0 上工作。

谢谢。

0 投票
1 回答
241 浏览

r - 使用带有 in_schema 的 tbl 使用 FreeTDS 创建语法错误

我正在尝试创建一个惰性表,以便dplyr在 Ubuntu 上使用 Shiny Server 中的 sql 后端使用tbl抛出语法错误。

代码在Windows环境下运行无误,生成的SQL语句在SQL中执行成功。池对象也已成功连接,因为来自闪亮的已执行查询显示在日志中。

我还检查了 odbc.ini 和 odbcinst.ini 中的连接信息是否正确。

使用带有 FreeTDS 驱动程序的 dplyr 来处理 SQL Server 是否存在已知问题?