通过R连接到Azure SQL

3
下面的代码可以让我通过R连接到Azure SQL服务器。然而,我只能访问一个“master”数据库,而无法访问我创建的下面的两个数据库。表格显示为空,有什么想法吗?谢谢。
        library(RODBC) library(dplyr) library(DBI) 

    conn <- RODBC::odbcConnect(
        > dsn = "XXX",   uid = "XXX",   pwd = "XXX" )
        > 
        > db_list <- RODBC::sqlQuery(   channel = conn,   query = "SELECT name
        > FROM Master..sysdatabases")
        > 
        > test <- sqlTables(conn)

enter image description here

2个回答

7

我建议您使用“odbc”包,根据我的经验,这是与数据库连接最强大和多功能的R包。使用此包进行连接时,您需要明确写出要连接的数据库。

# Library
library(odbc)

# Creating connection
my_connection <- dbConnect(drv = odbc::odbc(),
                           Driver = "SQL Driver",
                           server = "azuredatabase.azure.com,port",
                           database = "databasename",
                           uid = "user",
                           pwd = "password")

没问题 - 几年前我经历过整个数据库连接的混乱,自从我开始使用“odbc”以来,就再也没有回头过:D - Esben Eickhardt

0
Esben的回答对我来说完美地起作用了(谢谢Esben!)。在驱动程序部分做了一个小改变,从 Driver = "SQL Driver" 改为 Driver = "SQL Server"
现在我可以在连接窗格中看到数据库出现了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接