如何管理 R 包中的数据库连接

2024-01-06

我正在构建一个 R 包,其主要目的是消除处理专有数据库的痛苦,该数据库需要一些相当复杂的 SQL 查询才能获取数据。

因此,与 Microsoft SQL Server 的连接(通过以下方式获得)odbcDriverConnect)是这个包的一个恒定且重要的部分,但我无法弄清楚如何最好地管理它,我希望得到关于如何在 R 中实现它的建议。

我目前的想法是:

  1. 让用户在调用任何函数之前确保他们具有有效的连接。每个函数都有connection作为必须传递的参数。这给用户带来了负担。

  2. 在每个函数中,调用get.connection()每次都会获得新的连接。然后允许旧连接自然超时,这似乎是一种草率的方法。

  3. 如上所述,但每次返回相同的连接。这似乎不是一个可行的提议,因为我无法阻止通过 R 的连接超时。autoReconnect=TRUE我在不同语言中使用过的其他技巧似乎没有效果。

在 Java 中,我可能会拥有一个填充有多个连接的 DatabaseConnectionPool,并且只需根据需要从该池中获取连接并将它们返回到该池中。当我指定时,Java 中似乎也没有超时问题autoReconnect=TRUE.

任何建议都非常感激。


pool是一个用于池化连接(例如数据库)的 R 包。如果您喜欢使用 github 包,请查看https://github.com/rstudio/pool https://github.com/rstudio/pool。将根据需要重用或重新创建连接。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何管理 R 包中的数据库连接 的相关文章

  • R - 计算 bin 中特定值的数量

    我有一个如下所示的数据框 df Value lt c 1 1 0 2 1 3 4 0 0 1 2 0 3 0 4 5 2 3 0 6 Sl lt c 1 20 df lt data frame Sl Value gt df Sl Value
  • 使用officer R导出时如何提高ggplots的分辨率

    我想将图表导出到 PPT 并使用Officer 包来实现相同的目的 但是 图表的默认分辨率较低 我想更改它 我目前正在使用以下电话 ph with gg p1 type chart res 1200 其中 p1 是 ggplot 对象 运行
  • R 闪亮仪表板中的动态重复条件面板

    我正在尝试创建一个动态条件面板 所以我的条件如下 在用户界面中输入 selectInput inpt Input Number seq 1 50 1 selectize FALSE 我的条件面板 UI 输入是 conditionalPane
  • 警告消息 - 来自 dummies 包的 dummy

    我正在使用 dummies 包为分类变量生成虚拟变量 其中一些变量具有两个以上类别 testdf lt data frame A as factor c 1 2 2 3 3 1 B c A B A B C C C c D D E D D E
  • 需要在R中按行绑定列表数据

    我在 R 中按行绑定列表时遇到问题 我的列表数据集是 id 1 data k 1 id k b c 1 1 1 3 data k 2 id k b c 1 2 1 4 id 2 data k 1 id k b c 2 1 1 6 data
  • 在数据库中搜索时忽略空文本框

    此代码能够搜索数据并将其加载到DataGridView基于搜索表单文本框中提供的值 如果我将任何文本框留空 则不会有搜索结果 因为 SQL 查询是用 AND 组合的 如何在搜索 从 SQL 查询或 C 代码 时忽略空文本框 private
  • 如何按时间间隔匹配数据帧?

    这是我从数据记录器导入原始数据时经常出现的问题 温度记录仪设置为每十分钟记录一次温度 单独的气体记录仪设置为记录最后十分钟间隔内使用的气体 我想将这两个记录器的数据合并到一个数据框中进行绘图和分析 但时间并不完全一致 我希望每十分钟的时间段
  • 将列表中的每个元素转换为数据框中的一列

    假设我有以下列表 d library combinat d permn c a b c 这看起来如下 1 1 a b c 2 1 a c b 3 1 c a b 4 1 c b a 5 1 b c a 6 1 b a c 是否可以将此列表的
  • 为什么 sapply 的缩放速度比样本大小的 for 循环慢?

    假设我想采用向量 X 2 1 N 并将 e 计算为每个元 素的指数 是的 我认识到最好的方法就是通过向量化 exp X 但这样做的目的是将 for 循环与 sapply 进行比较 我通过逐步尝试三种方法 一种使用 for 循环 两种以不同方
  • 插入具有只读主键列的表

    我正在使用一个使用 sql server 数据库的应用程序 我试图在表中插入一行 如下所示 该表有一个主键 prodNum 这是自动生成的密钥 当我尝试向表中插入一行时 如下所示 在行中intResult oSglProdTableAdap
  • R Shiny:如何将无功值从闪亮模块返回到主服务器功能?

    我有一个简单的玩具示例 它使用 add removeBtn 模块在 第一个 模块中添加和删除 UI 我需要跟踪单击 添加 删除 的次数 如果我不使用模块 这很容易 但我试图在嵌套模块的上下文中执行此操作 代码如下 但基本上 我似乎无法访问主
  • R - 重塑 - 熔化错误

    我正在尝试融化数据框 但出现了这个奇怪的错误 有什么想法吗 str zx7 data frame 519 obs of 5 variables calday new Date format 2011 01 03 2011 01 04 201
  • pymssql 库中的参数绑定是否正确实现?

    我使用 pymsqsql 库从 Python 程序调用极其简单的查询 with self conn cursor as cursor cursor execute select extra id from mytable where id
  • 如何声明包含 M 个元素的列表对象

    我想声明一个包含 M 3 x 3 矩阵的列表 如果我事先知道数字 M 那么我可以通过以下方式声明这样的列表 elm lt matrix NA 3 3 Say M 7 myList lt list elm elm elm elm elm el
  • 如何按定义的顺序将图像合并到一个文件中

    我有大约 100 张图像 png 我不想手动执行此操作 而是希望将它们按照定义的顺序 基于文件名 并排放置在一个 pdf 中 每行 12 个图像 有人有什么建议吗 我按照下面托马斯告诉我的方法尝试了 它把它们贴在旁边有一个黑边 我怎样才能去
  • BULK INSERT 返回错误“访问被拒绝”

    运行批量插入时 BULK INSERT MyDatabase dbo MyTable FROM Mylaptop UniversalShare SQLRuleOutput csv WITH FIRSTROW 2 FIELDTERMINATO
  • SQL Server 中的 FIFO 查询

    我正在构建一个库存管理应用程序c with SQL server 我想做一个FIFO从我的表查询 我以可变价格购买了相同的产品 之后我卖掉了其中一些 我想根据 先进先出 进行查询BatchDate柱子 所以我想通过PurchasePrice
  • R中IF函数的使用

    我正在短跑ifR 中的函数 但收到以下警告消息 In if runif 50 0 1 lt 0 69 the condition has length gt 1 and only the first element will be used
  • 从 MS Access 调用存储过程会导致错误 3146

    当我使用下面所示的代码从 MS Access 前端调用 SQL Server 存储过程时 它停止运行并抛出运行时错误 3146 这个存储过程在 SQL Server 中工作正常 但是当我从 MS Access 运行时 它首先工作 但突然停止
  • ggplot:如何限制条形图中的输出,以便仅显示最频繁出现的情况?

    我几个小时以来一直在寻找这个简单的东西 但没有结果 我有一个数据框 其中一列为变量 国家 地区 我想要两件事以下 绘制最常见的国家 地区 最常见的位于顶部 找到部分解决方案EDIT找到完整的解决方案 gt gt 重点问题是根据频率限制条形图

随机推荐

  • 在 PictureBox 中绘制火车时,C# 中出现内存不足异常

    我正在尝试创建一个应用程序来显示在线火车picturebox 所以为了实现这个我创建了一个worker thread为了获得在线火车位置 所以我定义了线程 如下所示 private Thread workerThread null priv
  • 应如何实施电子邮件地址选择加入?

    设想 用户给您一个电子邮件地址 在他们注册服务之前 他们需要验证电子邮件地址 您通过电子邮件发送一个 URL 他们单击它 然后他们就可以订阅服务 问题 网址是什么样的 我认为随机指南就可以了 您是否使用相同的随机密钥来取消订阅请求 我应该考
  • boost 正则表达式中的链接器错误

    我想了解有关 boost lib 中的正则表达式的一些知识 我尝试编译这个简单的示例代码 regex search example include
  • Scala 2.10.1 中新的脱糖行为

    假设我有这个单子类 case class Foo A xs List A def map B f A gt B Foo xs map f def flatMap B f A gt Foo B Foo xs flatMap f andThen
  • 使用 App Engine SDK 进行并行模块部署

    TL DR 有没有办法并行部署 App Engine 模块 我使用 Google 构建了一个 go 应用程序适用于 Go 的 App Engine SDK https cloud google com appengine downloads
  • Async Await 等待所有结果并继续

    我对如何实现异步等待方法并在继续之前等待结果有点困惑 我想并行对后端进行 3 次调用 并等待它们响应 然后获取结果并在内部分配它们 像这样的事情 Private Sub GetParseExpressionResults If Not is
  • iOS Core Data:将获取请求的结果转换为数组

    我正在尝试将获取请求的结果放入数组中 我的代码 let appDelegate UIApplication sharedApplication delegate as AppDelegate let managedContext appDe
  • 在 PostgreSQL 中提取 xml 标签的值

    下面是我的 Postgres 表的列响应 我想从 Postgres 数据库中的所有行中提取状态 状态的大小可能不同 例如SUCCESS所以我不想使用子字符串函数 有办法做到吗
  • 实时显示 Google Analytics 数据

    我想显示自本月初以来网站上的访问者数量 当天和当前在网站上的用户数量 我安装了 Google Analytics 我尝试通过从开发人员控制台启用 Google Analytics API 来使用嵌入 API 来解决此问题 但我需要用户授权等
  • ES6模块的“导入”正式兼容CommonJS和AMD?

    从这篇文章 https hacks mozilla org 2015 08 es6 in deep modules https hacks mozilla org 2015 08 es6 in depth modules 文中写道 新标准旨
  • iPhone如何自动插入小数位?

    我知道过去曾多次问过这个问题 但我尝试的一切都失败了 我有一个带有 UILabel 的自定义数字键盘 当我点击 1 时 UILabel 显示一个 1 现在这就是我想做的 当我点击 1 按钮时 我想要 UILabel 中的 0 01 接下来是
  • 这是什么意思? “解析错误:语法错误,意外的 T_PAAMAYIM_NEKUDOTAYIM”

    T PAAMAYIM NEKUDOTAYIM 听起来确实很异国情调 但对我来说绝对是胡说八道 我将其全部追溯到这行代码 在构造函数中我创建了一个 Config 对象 这是课程 final c
  • 单例中的 Spring Prototype 作用域 bean

    我正在尝试注入prototype豆子在一个singleton这样 每次对单例 bean 方法的新调用都会有一个原型 bean 的新实例 考虑一个单例 bean 如下所示 Component public class SingletonBea
  • 停止正在运行的 SKAction - Sprite Kit

    以下代码将为旋转设置动画 let something SKSpriteNode SKSpriteNode func start let rotateAction SKAction rotateToAngle CGFloat M PI dur
  • if 与条件条件相比的速度

    我的想法是使用条件运算符将一些 if 块转换为单行 不过我想知道是否会有速度差异 我进行了以下测试 static long startTime static long elapsedTime static String s public s
  • 在合金模型中使用布尔值的最佳实践

    我正在构建一个简单的 Alloy 来生成简单的 Java Pojo 对象 并且该 pojo 的某些字段是布尔值 我现在使用以下机制来实现这个功能 one sig item autoPay String Price Int fact bool
  • Visual Studio 调试模式下显示奇怪的内存内容

    我正在编写一些多线程C 程序 我尝试修改函数体开头的几条指令 以将执行重定向到其他地方 但我注意到 在 Visual Studio 2015 中调试时 某些内存位置似乎是不可更改的 如Memory window 例如 下图中有一个函数ApS
  • 窗口关闭时销毁会话?

    我在 php 中创建了一个具有注销功能等的登录系统 但是我需要在窗口关闭时销毁会话 这需要 即时 或尽快将用户状态更改为离线 我真的不想在会话上设置时间 因为这对于必须一直登录的用户来说很烦人 欢迎任何建议 谢谢 默认情况下 当浏览器关闭时
  • 基于数组的双端队列实现

    我正在关注一个在线示例并学习 使用数组在 Java 中实现循环双端队列 这是我正在关注的在线资源 循环队列实现 http oppansource com queue implementation in java using circular
  • 如何管理 R 包中的数据库连接

    我正在构建一个 R 包 其主要目的是消除处理专有数据库的痛苦 该数据库需要一些相当复杂的 SQL 查询才能获取数据 因此 与 Microsoft SQL Server 的连接 通过以下方式获得 odbcDriverConnect 是这个包的