问题标签 [rodbc]

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 投票
1 回答
341 浏览

r - 使用 RODBC 从 xls 导入到 R 后验证数据完整性

我正在使用 RODBC 导入具有 ~10000 行和 ~250 列的 xls 文件,使用以下脚本:

在导入过程中,我打开并关闭了那个 xls 文件。

作为预防措施,我检查了 R 和 xls 文件本身的行数,只是为了确保导入没有损坏,是的,行数保持不变,所以我假设导入过程正常。

当我开始对数据进行制表时出现问题,我意识到即使行号是相同的,有些行实际上已被破坏,我有一个UID内部,并意识到在数据帧的后面部分,UID 被搞砸了(例如同一行被复制两次)。

我再次重新导入文件,不敢打开或关闭xls文件,这次一切顺利。

我已经学到了在 RODBC 读取 xls 文件时永远不要打开或关闭它的教训,但是我如何确保数据不会被弄乱,或者确保我确实没有错误地导入数据集,之后是进口的吗?

谢谢。

PS我正在考虑将数据帧导出到csv,并将xls也导出到csv,然后比较校验和,作为一种额外的措施,但是还有其他方法吗?

0 投票
5 回答
5786 浏览

sql - 返回零行的 RODBC 查询

问题:RODBC(错误地)返回零行

情况:

我正在使用 RODBC 连接到使用商业 DB 的 ODBC 驱动程序(OSI Soft 的 PI Historian Time Series DB,如果您好奇的话)创建的 DSN。

现在,如果我查询,我得到零行。

有了BelieveNRows = FALSE这些仍然显示零结果,即使它应该返回 120 行。

我还能尝试什么?


证明应该有很多行:

在 Excel 或命令提示符中

结果...

在 R 和 Excel 中,如果我查询一个不存在的标签,比如说tag = 'aeeEEEEE11!!!',它会正确返回零行。


附加信息

SQL 表

ODBC 信息

我的会话信息:

0 投票
2 回答
1945 浏览

sql-server - 如何在 R 中使用 RODBC 从 Sql Server 读取 utc 时间戳?

我正在尝试使用 RODBC 将一些数据从 Sql Server 2008 导入 R:

数据存储在“日期时间”类型的列中。所有时间戳都是 UTC,但是我的系统时区是 CET。R 将所有时间戳转换为“POSIXct”“POSIXt”类型的值,例如:

“2011-01-01 07:24:12 CET”

“2011-01-01 08:35:10 CET”

“2011-01-01 09:02:50 CET”

时间戳是正确的,时区是错误的。在我看来,由于没有明确指定时区,R 将我的本地时区分配给所有时间戳。

有什么方法可以指定数据的时区,所以时区信息是正确的?

0 投票
0 回答
144 浏览

excel - 将所有从 sqlQuery 导入的内容转换为字符

我有一个要使用 RODBC 导入 R 的 xls 文件,其中一列具有以下数据:

当我使用该sqlQuery命令时,该列将转换为数字并给出以下内容:

如何停止sqlQuery转换此列?我试过了as.is=TRUE,但似乎不起作用。

为了使问题更笼统,我需要将所有内容都导入文本(即不要尝试为我进行任何转换),这可能sqlQuery吗?

0 投票
4 回答
11530 浏览

r - RODBC 失败:“强制转换规范的字符值无效”- Excel 2007

我正在尝试使用 RODBC 写入 Excel2007 文件,但我不断收到错误消息。我已将问题简化为这个非常基本的情况,即具有字符、数字、日期和逻辑数据类型的 1 行 data.frame:

错误:

如果我将日期和逻辑列都转换为字符,那么一切正常。问题是这些现在是 Excel 中的字符,并且不能在没有转换的情况下用作预期的数据类型。我深入研究了 sqlSave 代码,它似乎在做正确的事情。有没有其他人遇到过这个问题?

0 投票
2 回答
1635 浏览

sql - 查询 SPSS 文件

R 版本:2.12.2 / 操作系统:Windows XP

我需要查询和操作的数据存储在一个 SPSS .sav 文件(大小 ~ 112MB)中,我对 SPSS 语法有非常基本的了解。我对 R 更满意(并且通常更喜欢它用于数据操作和分析),因此我将 SPSS 文件保存为制表符分隔的文件(大小 ~ 85MB),并尝试使用 RODBC 包中的功能对其进行查询。

使用 Windows 控制面板上管理工具组中的“数据源 (ODBC)”应用程序,我使用 Microsoft 文本驱动程序设置了一个数据库(Windows 文件夹),其中包含表(制表符分隔的文件)。

当前感兴趣的表有一个“日期”字段(称为“日期时间”),其中日期格式为“%Y/%m/%d”。当我第一次尝试使用该字段的条件查询数据库时,我得到了一个观察值为零的结果集。因此,我将“日期时间”更改为数据类型“字符”并再次尝试查询(无济于事)。

我能够成功查询数据库,即

sqlQuery(channel = cn, query = "SELECT * FROM large_table.txt", as.is = TRUE, stringsAsFactors = FALSE, max = 20)

返回结果。以下查询返回零观测结果集(我已验证在其“日期时间”字段中至少有一条值为“2011/04/01”的记录)。

sqlQuery(channel = cn, query = "SELECT DateTime FROM large_table.txt WHERE DateTime = {d '2011-04-01'}", as.is = TRUE, stringsAsFactors = FALSE)

sqlQuery(channel = cn, query = "SELECT DateTime FROM large_table.txt WHERE DateTime = '2011/04/01'", as.is = TRUE, stringsAsFactors = FALSE)

谁能告诉我为什么结果集没有观察结果?

非常感谢任何改进我的数据库连接或查询的建议。我更喜欢使用 RODBC 包而不是另一个数据库查询包,但如果有必要我愿意尝试一些新的东西。

0 投票
6 回答
6825 浏览

sql-server - sqlSave 出错

我正在sqlSave努力添加如下所示的矩阵B

到 SQL 表。

所以我运行以下命令:

我收到以下错误:

看到它不想擦除表,即使append=TRUE存在,我也尝试擦除我的 SQL 表并再次运行相同的代码。

我收到以下错误:

所以我很困惑,当我想附加 R 说它不能因为表在那里而当表不在那里时,R 说它不能把信息放在里面,因为表不在那里。我进入 SQL 以验证没有发生任何事情,但我看到 R 使用正确的列名 (Noinscr) 创建了表,但表是空的。

请告诉我我做错了什么。谢谢

0 投票
1 回答
815 浏览

sql - 使用 RODBC 进行并行数据库调用

我正在处理大约 3*10^6 行和 11 列的面板数据块。这些数据存储在 SQL 数据库中(我使用的数据是更大数据集的子集)。我想处理数据块(每个日期分开)而不是一次全部导入,但是我必须在每个块上运行的操作是计算密集型的,所以我想使用foreach包。

但是,我在并行运行 sql 调用时遇到了一些问题。如果我做一个简单的调用,例如 ( sqlQuery(channel, "select 1")),我可以并行运行它。如果我执行更复杂的语句,我会收到 SIGPIPE 错误。有没有其他人遇到过类似的问题?

0 投票
3 回答
2574 浏览

sql-server-2008 - 使用 RODBC 将 SQL 存储过程结果转换为 data.frame 格式

我正在使用 RODBC 包在我的 SQL 服务器中查询结果。在我的 SQL Server Mgmt 中执行时,我编写了某个存储过程。studio(例如),返回一个表。但是,当我通过 R 运行查询时,它返回character(0)

奇怪的是...当我做类似...

我得到一个结果表...

帮助?

0 投票
1 回答
798 浏览

excel - ROBDC SqlSave:如何将数据导出到 Excel 工作表中?

我正在尝试将数据从 R 导出到一个 Excel 文件(到不同的工作表中):

这会产生错误:

问题在于tablename = x[1],如何将列表名称转换为工作表名称?