在R中调用dbListFields查询SQL Server表字段报错求助
问题分析与解决办法
这个报错的核心原因很明确——你把数据库表名当成了R语言的对象来传递,而没有把它作为字符串参数传入dbListFields()函数。
具体问题拆解
dbListFields()的第二个参数需要接收表名的字符串形式,但你写的是VisitDetails,R会默认把它当作一个已经在R环境中定义好的对象(比如变量、数据框)去查找,而你显然没有创建过同名的R对象,所以就触发了"object not found"的错误。
正确的写法
把表名用双引号或者单引号括起来,明确告诉R这是一个字符串类型的表名参数:
# 双引号写法 dbListFields(con, "VisitDetails") # 单引号写法也完全可行 dbListFields(con, 'VisitDetails')
额外注意事项
如果你的表属于特定的数据库schema(比如不是默认的dbo schema),还需要带上schema名称,格式为"schema_name.table_name",示例如下:
dbListFields(con, "dbo.VisitDetails")
这样就能正常查询到VisitDetails表的字段列表了。
内容的提问来源于stack exchange,提问作者Sanky Ach
相关产品推荐
相关产品推荐

