开发者社区> 问答> 正文

无法从RStudio查询Azure SQL Server

我正在尝试从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访问数据,因此该连接必须有效。

有什么提示吗?

展开
收起
祖安文状元 2020-01-05 14:24:16 597 0
1 条回答
写回答
取消 提交回答
  • 恭喜,您已解决问题:

    我最终通过切换到另一个库-RODBC解决了该问题。似乎那是odbc处理字符列作为点的方式中的一个错误:R DBI ODBC错误:nanodbc / nanodbc.cpp:3110:07009:[Microsoft] [用于SQL Server的ODBC驱动程序13]无效的描述符索引

    我将其发布为答案,这可能对其他社区成员有益。

    2020-01-05 14:24:23
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server在电子商务中的应用与实践 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载