R从SQL Server读取

问题描述 投票:1回答:2

试图从SQL Server读取表。我有:

> con TDBFG \ BRITTG2 @ CRSDPRSCG1TBV数据库:vision Microsoft SQL Server版本:11.00.6248

> dbListTables(带)

...

[5]“省”

...

p = dbReadTable(con, "ref.Province") # in the ref schema

产量

Error: <SQL> 'SELECT * FROM "ref.Province"'

nanodbc/nanodbc.cpp:1587: 42S02: [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name 'ref.Province'

问题似乎是引用了表名。如何确保R不引用select语句中的表名?

sql-server r
2个回答
0
投票

你试过RODBC吗?我有幸运气。

就像是:

ch <- odbcConnect("DATABASE", uid = "username", pwd = "password")

query <- paste("SELECT * FROM DATABASE.dbo.TABLE", sep = "")

# Perhaps in your case:

query <- paste("SELECT * FROM DATABASE.ref.Province", sep = "")

result <- sqlQuery(ch, query, stringsAsFactor = F) # Unless you want factors..

请注意,result作为data.frame返回

不幸的是,我对nanodbc没有任何经验,但我希望有所帮助。


0
投票

我就是这样做的。

library(RODBC)
dbconnection <- odbcDriverConnect("Driver=ODBC Driver 11 for SQL Server;Server=Server_Name\\SQLEXPRESS; Database=Yo;Uid=; Pwd=; trusted_connection=yes")
initdata <- sqlQuery(dbconnection,paste("select * from MyTable;"))
odbcClose(channel)
© www.soinside.com 2019 - 2024. All rights reserved.