21

我正在尝试使用

odbcDriverConnect('driver={SQL Server};server=servername\instancename,port;database=testing;username=abc;password=123456') 

连接远程数据库服务器(sql server 2008)。但我得到了

[RODBC] 错误:状态 08001,代码 17,消息 [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server 不存在或访问被拒绝。

错误。任何想法?

我可以用

odbcDriverConnect('driver={SQL Server};server=localhost;database=testing;trusted_connection=true') 

连接我的本地数据库服务器(sql server 2008)。

4

4 回答 4

36

正确的语法应该是:

odbcDriverConnect('driver={SQL Server};server=servername\\instancename,port;database=testing;uid=abc;pwd=123456')

如果您使用 Windows 身份验证方法:

odbcDriverConnect('driver={SQL Server};server=servername\\\\instancename,port;database=testing;trusted_connection=true')

斜线似乎是一个转义字符,转义斜线有效。

于 2013-03-15T16:00:00.497 回答
11

对于 Linux 上的 Microsoft ODBC Driver 11 for SQL Server,R 版本 3.0.1 中的 RODBC 版本 1.3-7,上述答案均无效。然而,起作用的是以下内容:

dbconnection <- odbcDriverConnect("Driver=ODBC Driver 11 for SQL Server;
                Server=127.0.0.1; Database=MyDBName; 
                Uid=MyName; Pwd=XXXX")

(输入相关的 IP 地址、数据库名称等)。

在可信连接的情况下:

dbconnection <- odbcDriverConnect("Driver=ODBC Driver 11 for SQL Server;
                Server=127.0.0.1; Database=MyDBName; 
                Uid=MyName; Pwd=XXXX; trusted_connection=yes")

trusted_connection只会听“是”或“否”而不听“真”和“假”

于 2013-09-01T18:21:40.943 回答
1

1.连接MySQL

a)如果你的系统中安装了Mysql,如果没有安装它。

b) 下载 RMySQL IN R

library(RMySQL)

drv = dbDriver("MySQL 5.0.1")

确保 MySQL 版本正确。

con = dbConnect(drv,host="localhost",dbname="test",user="root",pass="root")

使用本地主机或使用服务器,即 IP 地址

使用所需的数据库名称、用户名和密码

album = dbGetQuery(con,statement="select * from table")

运行所需的查询

close(con)

2.另一种连接数据库的方式

a)首先安装任何数据库,如 MySQL、Oracle、SQL Server

b) 为数据库安装 ODBC 连接器

library(Rodbc)

channel <- odbcConnect("test", uid="ripley", pwd="secret")

test 是用户必须手动设置的 odbc 连接器的连接名称

用户可以在管理员工具中找到它

res <- sqlFetch(ch, "table name")

可以将表作为数据框检索

res<-sqlQuery(channel, paste("select query"))

带有条件的表的一部分可以作为数据框检索

sqlSave(channel, dataframe)

将数据框保存到数据库(不要使用“res <-”这样的东西)

喜欢用户可以使用

sqlCopy() sqlDrop()

sqlTables()

close(channel)

总是关闭连接

于 2013-03-17T14:58:04.627 回答
0

看起来您正在尝试连接到 SQL Server。这个代码片段应该可以工作,它对我有用:

库(“RODBC”)

连接 <- DBI::dbConnect(odbc::odbc(), Driver = "SQL Server", Server = "Your Server Name", Database = "Your Database Name", UID = "Your Database Name", UID = "Your服务器登录”,PWD = “您的服务器密码”,端口 = 1433)

参考:通过 R 连接 MS SQL Server

于 2019-12-10T16:21:55.037 回答