问题标签 [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 投票
2 回答
3724 浏览

r - 如何将 sqlSave 函数与 R 中的现有表一起使用

我可以使用 sqlSave 创建一个新表并将数据附加到该表,但我希望平板电脑有一些额外的列(例如,一个“ID”自动增量列 - 我在创建表和测试后手动添加这些列我可以保存到它并附加到它)。一旦我在添加这些列后尝试使用 sqlSave,我在尝试使用 sqlSave 附加更多数据时会收到错误

所以我在我的数据框中添加了一个 ID 列(因此它的列将与我的数据库表匹配)并尝试将其设置为“NULL”、NULL 和“”。我不断收到同样的错误。

有任何想法吗?

谢谢, 艾瑞克

PS 我正在将 RODBC 与 MySQL OOBC 驱动程序版本 5.1 一起使用

0 投票
2 回答
2296 浏览

r - 在 Excel 中通过 RODBC 导出数据

在 R 中执行计算后,我们希望将结果导出到 Excel 文件中,以便进行一些格式化并添加图形。我犯规了以下页面

http://learnr.wordpress.com/2009/10/06/export-data-frames-to-multi-worksheet-excel-file/

报告以下代码

我在实现它时遇到了一些困难,实际上它会返回一个错误,例如:

你有什么提示吗?

0 投票
1 回答
794 浏览

r - 如何存储 sqlQuery 数据框?

我迭代了一个日期数组,用于创建 sql 查询。

日期 <- c("2010-06-29", "2010-07-09", "2010-07-22")

fn1(日期)

如何将所有内容放在一个数据框中?有人可以帮我吗?

0 投票
1 回答
920 浏览

sql - rodbc 日期过滤器

我一直在尝试通过 RODBC 设置对 MS SQL 数据库的查询。不幸的是,我无法设置适当的日期过滤器。我尝试在引号和单引号、DATE 函数、括号中输入日期,但它不想工作。

这是代码:

我通常会收到此错误消息:

在日期过滤器之后,我有几个其他过滤器由 OR 彼此分隔(从示例中排除)。

0 投票
1 回答
1104 浏览

r - 与 Oracle 数据库的 RODBC 连接不起作用,崩溃 R

我有许多脚本可以通过 Windows XP 上的 ODBC 从 Oracle 10g 数据库中提取数据,这些脚本已经运行了很长时间。我最近设置了一个新的 Oracle 帐户以从同一数据库的另一个模式中提取数据,但是当我使用该帐户和不同的模式进行测试时,我得到了奇怪的结果,并且有时可以(可靠地)完全杀死 R!

我使用 odbcConnect 连接到数据库,并且尝试过相信NRows 和 rows_at_time 没有区别

然后我尝试了一些查询(尽可能简单。这个返回零行(此表中有两行),并且大多数列名都替换为 An

这有效,但返回零行并且两个日期列被截断为 L 和 L.1

这工作正常,并返回数据

这似乎杀死了R(老实说)

R死了。(在 StatEt 和 RGui 中)

所以我的问题;

a) 有谁知道出了什么问题?

b) 有谁知道我还可以采取哪些步骤来诊断?

0 投票
4 回答
62810 浏览

sql-server - RODBC odbcDriverConnect() 连接错误

我正在尝试使用

连接远程数据库服务器(sql server 2008)。但我得到了

[RODBC] 错误:状态 08001,代码 17,消息 [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server 不存在或访问被拒绝。

错误。任何想法?

我可以用

连接我的本地数据库服务器(sql server 2008)。

0 投票
1 回答
254 浏览

r - 查找不起作用,因为查找变量的名称可能不同

我经常使用不是我自己创建的数据库。在数据库中,数据通常是编码的,例如男性 = 1,女性 = 2。我创建了很多动态报告,需要实际的级别名称,而不是变量级别的编码。我一直在手动重新编码变量的每个级别,但必须有一种方法以更自动化的方式完成此操作。

找出编码实际是什么的关键是在单独的表格中提供。当我通过 RODBC 将该数据导入 R 时,表格在列(例如)性别中包含 1 和 2。我试图找到一种方法,通过具有一些讨厌特征的查找表将它们转换为男性和女性。

在这种情况下,数据文件看起来像:

ID 性别
1 1
2 1
3 2
4 1

和查找表是这样的:

姓名 代码 描述
性别 1 男性
性别 2 女性
变量X 1 任何
变量X 2 任何
变量X 3 任何

因此,我想根据数据文件的变量名称和查找表中的名称列,使用两个表之间的链接将代码与 data$Gender 中找到的值进行匹配,从而在查找表中查找描述。我可以通过为每个变量运行来做到这一点:

data$Gender<-lookup(data$Gender, subset(lookuptable,Name=="Gender")) (查找是包'epicalc'中的一个函数)

'Name == "Gender"' 位的全部内容...如果变量名称和列 Name 中的字符串相同,则创建一个遍历所有变量名称的循环并不是一个大问题。但是,就我而言,名称列中的字符串名称通常与变量名称不匹配。那么当查找表是这样的时候我们该怎么办:

姓名 代码 描述
性别 1 男性
性别 2 女性
变量X 1 任何
变量X 2 任何
变量X 3 任何

在 Access 中,查找表和包含实际数据的表之间的链接是通过表设计中“查找”选项卡中的“行源”行。此行源是在变量级别指定的,因为不同的变量将需要不同的查找值(在我的情况下可以在 1 个查找表中找到)。

我想如果有一种方法可以将此 Row 源行导入到 R 中,我想我的问题将得到解决,它指定(在上面的示例中)在查找表中 Gender 实际上被称为 Sex。

如果您想知道,Row Source 行(可以为数据表中的每个变量指定)如下所示:

选择lookuptable.Code,lookuptable.Description FROM [lookuptable] WHERE (((lookuptable.Name)="Sex"));

我该如何解决我的问题?我想从 Access 中的每个表中为每个变量导入 Row Source 行会很方便(如果可能的话),但可能不是(我不知道)......

R 版本 2.15.2 (2012-10-26)
平台:i386-w64-mingw32/i386 (32-bit)
Epicalc_2.15.1.0
RODBC_1.3-6

0 投票
1 回答
914 浏览

unixodbc - unixODBC-qui-qt 安装 - 无法编译 Qt 程序

我正在尝试为 Mac OSX Mountain Lion 设置 unixODBC,以便可以使用 RODBC 访问 Excel 电子表格。

我对各种文档和网站进行了大量研究,并了解以下步骤:

  1. 安装 unixODBC 2.3.1
  2. 安装 FreeTDS 0.91(只是想要一个免费的 ODBC 驱动程序来测试)
  3. 指定要使用的 ODBC 驱动程序。我创建了一个 tds.driver.template 并成功安装在 unixODBC 中。见下文:

    [FreeTDS] 描述 = v0.63 协议 v8.0 驱动程序 = /usr/local/freetds/lib/libtdsodbc.so

    $ sudo odbcinst -i -d -f tds.driver.template

    $ odbcinst -q -d [FreeTDS]

最后连接到特定的 DSN。但是当我尝试如下配置 unixODBC-gui-qt 时:

它给出了以下错误:

在上述安装之前,我已经安装了 autoconf、automake、libtool 和 Mac OSX 的 Qt 库 4.8.4。

第一个问题:我是否在某些时候错过了任何步骤或配置错误?
我现在正在学习 R,但花了两天时间在 Mac ia 上配置 ODBC 有点出乎我的意料。我只想使用所有来自 unixODBC 的工具,包括它的驱动程序管理器和 GUI 工具来指定 DSN。我应该使用 emacs 来编辑 odbc.ini 吗?

第二个问题:在我指定 DSN 之后,我可以使用 RODBC 访问 Excel 电子表格吗?现在,它有以下错误。而且我不确定是否需要任何步骤来配置 RODBC 以使用 unixODBC 而不是 iODBC。

非常感谢您的帮助。

0 投票
1 回答
294 浏览

mysql - R sqlSave 字符串变量循环问题

几年后,我刚刚回到 R 的领域,并且遇到了通过 sqlSave 循环传递变量的问题。我已经在 Win7 机器上启动了 RODBC 并使用 MySQL 顺利运行,但似乎无法让我的循环工作。这是我拥有的数据以及我想要完成的工作:

  • 使用 pitchRX 库的 2012 年 MLB 逐场比赛数据保存为单个“值”,称为“mlb12”,具有多个表
  • “mlb12”里面有七张桌子(atbat、pitch、game、player、runner、umpire、coach)
  • 我想创建一个循环,该循环将为 R 中的每个表创建一个数据框,这样我就可以使用 sqlSave 将它们通过一个循环将它们插入到我的 MySQL 数据库中
  • 我已经将所有这些表插入到我的 MySQL 数据库中,但是我以“长”方式进行了操作(即声明每个 DF 并为每个插入创建一个 sqlSave 语句),并且希望在两个循环中执行它们以清理代码.
  • 下面是我目前必须抓取这些数据并将其插入 MySQL 数据库的代码:

library(RODBC)

我尝试编写的用于设置数据帧和简化 sqlSave 语句的循环都未能正确执行。这是我尝试过的一个示例,我认为它会起作用:

这个循环的问题是我不记得如何(或想出如何)使用 c[[i]] 增量字段来获取“b”值来为列表中的每个表创建数据框。我相当确定如果我能解决这个问题,我可以让一个循环为“sqlSave”部分工作。有没有办法用自动增量字段(或基于第二个列表的字段)做我想做的事情?

0 投票
1 回答
1319 浏览

r - tnsping 解决但无法使用脚本连接

我无法从我的 R/Python 脚本连接到 Oracle 数据库。以下是代码。TNSPing 实用程序能够使用 LDAP 解析数据库。我也在粘贴 TNSPING 输出。

TNSPing 输出

R 脚本输出

Oracle 11g 驱动程序

chan <- odbcDriverConnect("driver=Oracle in OraHome112_32;DBQ=UHK00500_SECCOMPAS_APPL;UID=toolkit;PWD= ** ") 警告信息:1:在 odbcDriverConnect("driver=Oracle in OraHome112_32;DBQ=UHK00500_SECCOMPAS_APPL;UID=toolkit;PWD = ** ") : [RODBC] 错误:状态 08004,代码 12154,消息 [Oracle][ODBC][Ora]ORA-12154:TNS:无法解析指定的连接标识符 2:在 odbcDriverConnect("driver=Oracle in OraHome112_32;DBQ=UHK00500_SECCOMPAS_APPL;UID=toolkit;PWD= ** ") : ODBC 连接失败

ODBC 驱动程序输出

chan <- odbcDriverConnect("Driver={Microsoft ODBC for Oracle};Server=UHK00500_SECCOMPAS_APPL;Uid=toolkit;Pwd= ** ") 警告消息:1:在 odbcDriverConnect("Driver={Microsoft ODBC for Oracle};Server=UHK00500_SECCOMPAS_APPL ;Uid=toolkit;Pwd= * ") : [RODBC] 错误:状态 08001,代码 12154,消息 [Microsoft][Oracle 的 ODBC 驱动程序][Oracle]ORA-12154:TNS:无法解析指定的连接标识符 2:在 odbcDriverConnect("Driver={Microsoft ODBC for Oracle};Server=UHK00500_SECCOMPAS_APPL;Uid=toolkit;Pwd= ** ") : ODBC 连接失败

有人可以建议我应该在这里检查什么来纠正这个问题吗?