【问题标题】:Unable to query Azure SQL Server from RStudio无法从 RStudio 查询 Azure SQL Server
【发布时间】:2019-12-22 14:35:54
【问题描述】:

我正在尝试从 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 访问数据。

有什么提示吗?

【问题讨论】:

标签: r sql-server odbc azure-sql-database rstudio


【解决方案1】:

恭喜你解决了这个问题:

我最终通过切换到另一个库 - RODBC 解决了这个问题。这似乎是 odbc 处理字符列的方式中的一个错误:R DBI ODBC error: nanodbc/nanodbc.cpp:3110: 07009: [Microsoft][ODBC Driver 13 for SQL Server]Invalid Descriptor Index

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

【讨论】:

    猜你喜欢
    • 2015-03-15
    • 2015-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多