我正在尝试从RStudio查询在Azure上部署的SQL Server数据库。
我建立了联系。我可以看到所有表格,并可以从RStudio GUI中预览数据。但是,当我尝试查询数据时,出现错误。
library(dplyr)
library(odbc)
con <- dbConnect(odbc(),
Driver = "SQL Server",
Server = "#.database.windows.net",
Database = "loremipsum",
UID = "loremipsum",
PWD = "loremipsum",
Port = 1433)
我尝试的第一个查询:
users <- as.data.frame(sqlQuery(con, "SELECT * FROM AspNetUsers"))
我得到的错误:
Error in sqlQuery(con, "SELECT * FROM AspNetUsers") :
first argument is not an open RODBC channel
我也试过这个查询
result <- dbSendQuery(con, "SELECT * FROM AspNetUsers")
first_100 <- dbFetch(result, n = 100)
出现以下错误:
Error in result_fetch(res@ptr, n) :
nanodbc/nanodbc.cpp:2966: 07009: [Microsoft][ODBC SQL Server Driver]Invalid Descriptor Index
奇怪的是,鉴于连接必须通过GUI访问数据,因此该连接必须有效。
有什么提示吗?
恭喜,您已解决问题:
我最终通过切换到另一个库-RODBC解决了该问题。似乎那是odbc处理字符列作为点的方式中的一个错误:R DBI ODBC错误:nanodbc / nanodbc.cpp:3110:07009:[Microsoft] [用于SQL Server的ODBC驱动程序13]无效的描述符索引
我将其发布为答案,这可能对其他社区成员有益。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。