RODBC包:如何获得“表是否存在?”的逻辑值?查询类型?

时间:2016-01-12 22:58:47

标签: sql r rodbc

我正在尝试将R / Shiny / SQL应用程序转换为使用SQL Server而不是Oracle的数据。在原始代码中,存在许多以下类型条件:如果表存在,则将其用作数据集,否则上载新数据。我正在寻找来自dbExistsTable个软件包的DBI/ROracle命令的副本,但遗憾的是odbcTableExists只是内部RODBC命令在R环境中无法使用。另外,RODBC包的包装器允许使用DBI类型命令 - RODBCDBI似乎不起作用。有任何想法吗? 这是一些代码示例:

library(RODBC)
library(RODBCDBI)

con <- odbcDriverConnect('driver={SQL
    Server};server=xx.xx.xx.xxx;database=test;uid=user;pwd=pass123')

odbcTableExists(con, "table")

错误:无法找到“odbcTableExists”函数

dbExistsTable(con,"table")

(函数(classes,fdef,mtable)中的错误:   无法找到函数'dbExistsTable'的继承方法,用于签名'“RODBC”,“character”'

1 个答案:

答案 0 :(得分:4)

您可以使用

[Table] %in% sqlTables(conn)$TABLE_NAME

其中[Table]是您要查找的表的字符串。