Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R dbplyr SQL错误“应在数据库名称和限制之间”_Sql_R_Dbplyr - Fatal编程技术网

R dbplyr SQL错误“应在数据库名称和限制之间”

R dbplyr SQL错误“应在数据库名称和限制之间”,sql,r,dbplyr,Sql,R,Dbplyr,以下是我们正在使用的连接: con <- DBI::dbConnect(odbc::odbc(), Driver = "[your driver's name]", Host = "[your server's path]", DBCName = "[IP Address or Alias]" UID =

以下是我们正在使用的连接:

con <- DBI::dbConnect(odbc::odbc(),
                      Driver = "[your driver's name]",
                      Host   = "[your server's path]",
                      DBCName = "[IP Address or Alias]"
                      UID    = rstudioapi::askForPassword("Database user"),
                      PWD    = rstudioapi::askForPassword("Database password"))
下面的命令在我的代码中运行良好,没有错误,输出正确:

table1 <- tbl(con, "SAP_PRD_QMEL_ACQ")
但是,当我运行这一行代码时,会出现以下错误:

table2 <- DBI::dbGetQuery(con, "SELECT * FROM SAP_PRD_QMEL_ACQ LIMIT 5")

#> Error in new_result(connection@ptr, statement) : 
#>   nanodbc/nanodbc.cpp:1344: 42000: [Teradata][ODBC Teradata Driver]
#> [Teradata Database](-3706)Syntax error: expected something between the word 
#> 'SAP_PRD_QMEL_ACQ' and the 'LIMIT' keyword.

当我创建简单的复制来尝试复制错误时,我空手而归。为什么我会在数据库名称和限制错误之间出现这种情况?

无法重现您的问题,但我相信您需要使用TOP而不是LIMIT:


无法重现您的问题,但我相信您需要使用TOP而不是LIMIT:


这确实奏效了!为什么呢?可能发生了什么?我在R方面还不错,但对SQL了解不多,无法解决这么多问题。根据所访问的数据库类型,SQL语法略有不同,等等。只是一个细微差别,你会习惯于在不断体验的过程中进行检查。附带说明-如果你打算在没有订单的情况下使用TOP N,你也可以使用示例修饰符-从SAP_PRD_QMEL_ACQ示例5中选择*,这确实有效!为什么呢?可能发生了什么?我在R方面还不错,但对SQL了解不多,无法解决这么多问题。根据所访问的数据库类型,SQL语法略有不同,等等。只是一个细微差别,你会在不断体验的过程中习惯于检查。一个旁注-如果你要使用TOP N而没有订单,你也可以使用示例修饰符-从SAP_PRD_QMEL_ACQ示例5中选择*
table2 <- DBI::dbGetQuery(con, "SELECT TOP 5 * FROM SAP_PRD_QMEL_ACQ")