问题标签 [roracle]

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 投票
0 回答
39 浏览

sql - 始终将 DATE 列的格式更改为 CHAR

在 RI 中接收来自 Oracle 数据库的表。但是,不幸的是,ROracle 中的转换出现了问题:日期被转换为 POSIXct,但由于某些奇怪的原因,相同的日期可能相差一小时(请参阅我的另一篇文章。最后,我需要 R 中的日期作为字符串(出于与现有代码的一致性原因),格式为“dd/mm/yyyy”。例如,我将更改查询

但是,在 R 代码中,查询是动态构建的,并且预先我不知道表的哪些列是DATE列。我怎样才能始终如一地修改查询,使其始终将DATE列更改为如上所述的字符。

谢谢!

0 投票
1 回答
215 浏览

r - 在 R 中运行 oracleProc 函数时出错

0 投票
0 回答
823 浏览

r - 将具有非常大字段(8000 个字符)的 R 数据集写入 Oracle

我需要使用 R 包 ROracle 版本 1.3-1、R 版本 3.4.1、Oracle OraClient 11g home 将 R 数据集写入 Oracle 数据库,并且是 R 新手。

该数据集包括几种不同数据类型和长度的变量,包括长达 8000 个字符的几种字符类型。

使用 dbWriteTable

我收到此错误:

或这个

或这个

返回这个

通过研究错误,第一个错误似乎表明较大的字段 - BLOB 字段 - 未被 Oracle 识别为 BLOB。

文档表明 ROracle 版本 1.3-1 应该能够处理更大的数据类型。它建议使用属性在 dbWriteTable 中正确映射 NCHAR、CLOB、BLOB、NCLOB 列。由于我不断收到相同的错误,因此我无法成功遵循此示例。也许我只需要一个与文档中提供的示例不同的示例?

最初,我使用的是 RODBC 包,但发现已知 RODBC 不处理大型数据类型 (BLOB)。

任何帮助或建议表示赞赏。

0 投票
4 回答
1790 浏览

r - 让 ROracle 在 ubuntu 上运行

我已经从 Oracle 下载ROracle 1.3-1.tar.gz了 Oracle 即时客户端 12.2 基本和开发 rpm。

本文所述,我执行了以下命令:

我尝试安装 ROracle

然后输出说

我尝试导出这些环境变量,然后运行不带参数的命令,但我得到了同样的错误。

我还通过这里LD_LIBRARY_PATH描述将其写入 conf 文件

不过,尝试从 Rstudio 加载 ROracle 时出现以下错误:

我设置了一个从 libclntsh.so.12.1 到 libclntsh.so.11.1 的链接,/usr/lib/oracle/12.2/client64/lib/但在我看来,RStudio 正在错误的地方寻找我的 R - 即/usr/local/...而不是usr/.... 我该如何补救?

我也试过设置

但这也无济于事。

0 投票
2 回答
2711 浏览

r - rstudioapi askForPassword 不屏蔽用户名输入

有没有办法在 rstudioapi::askForPassword 弹出窗口中禁用屏蔽,以便用户输入他们的用户名?

我正在构建一个可以与我的团队共享的函数,用于使用 ROracle pacakge 连接到我们的 Oracle 数据库实例

目前的解决方案,

这会弹出以下提示:( 链接中的图片)

这是使用 Rstudio api的 RStudio 数据库文档中描述的解决方案

想资助一个不掩盖密码但弹出相同提示的解决方案(如果可能的话,一行漂亮的代码......)

0 投票
1 回答
482 浏览

roracle - ROracle 编码问题

我正在使用 ROracle 库从 RStudio 访问 Oracle 数据库。请看下面的代码:

在我的专栏中,我得到了这样的词:Lørdag、søndag 等,其返回为:L?rdag、S?ndag。

R会话信息:

R 版本 3.4.2 (2017-09-28) 平台:x86_64-w64-mingw32/x64 (64-bit) 运行于:Windows >= 8 x64 (build 9200)

矩阵产品:默认

语言环境:[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 LC_MONETARY=English_United States.1252 [4] LC_NUMERIC=C LC_TIME=English_United States.1252

附加的基础包:[1] 并行统计图形 grDevices utils 数据集方法基础

其他附加软件包:[1] stringi_1.1.5 doParallel_1.0.11 iterators_1.0.8 ROracle_1.3-1 DBI_0.7 foreach_1.4.3

通过命名空间加载(未附加):[1] compiler_3.4.2 tools_3.4.2 codetools_0.2-15

0 投票
1 回答
916 浏览

r - ROracle 未在 MacOS High Sierra 上加载 Instantclient 库

我已经安装了 Oracle Instant Client 12.1.0.2.0,现在正在尝试使用以下命令为 R 安装 ROracle 1.3-1:

Oracle Instant Client 安装在 /usr/local/oracle/instantclient12

不幸的是,我在 ROracle 安装结束时遇到了以下错误,并且很难弄清楚出了什么问题:

无论出于何种原因,无法找到 @rpath/libclntsh.dylib.12.1 并阻止 ROracle 完全安装。我尝试在 ~/lib 和 /usr/lib 中放置指向 libclntsh.dylib.12.1 的链接,但两个链接都不起作用。我还尝试使用环境变量 DYLD_FALLBACK_LIBRARY_PATH 和 DYLD_LIBRARY_PATH 指向包含 libclntsh.dylib.12.1 的目录,但这些都没有正常工作。

我正在使用 MacOS High Sierra (10.13) 和 R 3.4.2。

0 投票
1 回答
289 浏览

r - ROracle 绑定日期范围

我想通过带有绑定参数的 ROracle 查询发送到 oracle,其中包含日期列的日期范围。

我尝试运行:

但我得到错误:

“绑定数据与绑定规范不匹配”

0 投票
4 回答
1188 浏览

r - 仅当查询返回的行数少于 n_max 时才收集

有时,当通过连接到我的Oracle数据库时ROracledbplyr我会运行一个dplyr::collect操作,该操作会获取比预期更多的数据,并且 R 可以处理。

这可能会使 R 崩溃,并且通常表明我应该在获取之前进一步过滤或聚合数据。

如果能够在选择是否获取结果之前检查结果的大小(无需运行两次查询),那就太好了。

让我们命名collect2它的变体collect将允许这样做:

预期行为:

这可能吗?

我也对使用ROracle/DBI不使用的解决方案持开放态度dplyr,例如:

编辑:

请参阅下面作为答案发布的部分解决方案,这不是最佳解决方案,因为有些时间浪费在获取我没用的数据上。

0 投票
1 回答
1793 浏览

r - 使用 ROracle 在 R 中执行存储的 oracle 过程

我无法通过 ROracle 在 R 中执行/调用 Oracle 过程。我尝试了许多不同的方法来调用该过程,但我不断收到相同的错误。我在执行 SELECT 查询时没有问题,但事实证明调用过程很困难。我已经使用了 oracleProc 和 dbSendQuery 函数,但无济于事。它们都不起作用。Roracle 文档对于调用过程的示例是可悲的。

假设 Oracle 过程在 MYSCHEMA 中称为 MYPROC。该过程非常简单,没有参数(它涉及读取几个表并写入一个表)

当我直接在Oracle Developer中执行程序时,没有问题:

以下适用于 Oracle Developer(但不适用于 R)

然后我尝试从 R(通过 ROracle)调用相同的过程并给我错误。我尝试了许多不同的调用程序的方法,但我得到了同样的错误:

这是我得到的错误:

.oci.oracleProc(conn, statement, data = data, prefetch = prefetch, 中的错误:

这是我得到的错误(与上面的有点不同):

.oci.oracleProc(conn, statement, data = data, prefetch = prefetch, : ORA-00900: 无效的 SQL 语句中的错误

这是我得到的错误(与第一个相同):

.oci.SendQuery(conn, statement, data = data, prefetch = prefetch, 中的错误:

我的程序没有任何参数。正如我提到的,它在 Oracle 开发人员中调用时工作得很好。我已经没有想法如何在 R 中获得如此可笑的简单查询了!不过,我只对通过 ROracle 完成这项工作感兴趣。