【问题标题】:Connecting R to open office database using ODB使用 ODB 将 R 连接到打开的 office 数据库
【发布时间】:2017-01-22 20:10:56
【问题描述】:

尽管经过多次努力,我还是无法在 R 中的开放式办公数据库中读取我的表格。

我已经加载了 ODB 包。并使用命令连接

con <- odb.open('Database.odb')

连接 当我使用命令时

odb.tables(con)

控制台显示以下内容

$Datasets
    field.name field.type data.type comment
1           ID    INTEGER   numeric    <NA>
2 Dataset_naam    VARCHAR character    <NA>
3 Beschrijving    VARCHAR character    <NA>
4     Eigenaar    VARCHAR character    <NA>
5      Cluster       CHAR character    <NA>
6   Vindplaats    VARCHAR character    <NA>

看起来很有希望,但是当我尝试像这样实际访问表格时

odb.read(con, 'SELECT * FROM Datasets')

抛出以下错误。

Error: Error while executing SQL query  : "Unable to retrieve JDBC `result set for SELECT * FROM Datasets (Table not found in statement [SELECT * FROM Datasets])"`

为什么我不能访问表格?

另一方面,如果我尝试创建表,当我打开打开的 office 数据库时它们不会显示。

任何建议将不胜感激。

【问题讨论】:

  • 你用的是什么库?请包括所有图书馆行。
  • 看来您需要在 SELECT 语句中的表名周围使用双引号。
  • 我用的是ODB包。 (这会自动加载 DBI、rJava 和 RJDBC)。但弗雷特是对的!需要使用双引号(我使用了单引号和不引号)。我非常感谢你们的遮阳篷,我真的很高兴我终于可以连接到我的数据库了!

标签: sql r hsqldb odb


【解决方案1】:

你必须写一个表的名字。请尝试以下操作:

odb.read(con, 'SELECT * FROM Cluster')

【讨论】:

  • 您的回答是 OP 所说的他们尝试过的完全复制品。 odb.read(con, 'SELECT * FROM Cluster')odb.read(con, 'SELECT * FROM Datasets') 有何不同?
  • 对不起。我犯了一个错误
【解决方案2】:

你应该试试这个……

print(odb.read(con, "SELECT * FROM Datasets"))

【讨论】:

    猜你喜欢
    • 2012-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-30
    • 2015-10-20
    相关资源
    最近更新 更多