Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何连接到R中的SQL server数据库_Sql Server_R_Rodbc - Fatal编程技术网

Sql server 如何连接到R中的SQL server数据库

Sql server 如何连接到R中的SQL server数据库,sql-server,r,rodbc,Sql Server,R,Rodbc,我正在尝试使用R连接到SQL Server数据库,但不确定查询字符串的详细信息。我通常在SQLServer2008上使用SQLServerManagementStudio,并使用单点登录连接。我找到了下面的例子 myconn <- odbcDriverConnect(connection="Driver={SQL Server Native Client 11.0};server=hostname;database=TPCH; trusted_connection=yes;") 如何找

我正在尝试使用R连接到SQL Server数据库,但不确定查询字符串的详细信息。我通常在SQLServer2008上使用SQLServerManagementStudio,并使用单点登录连接。我找到了下面的例子

myconn <- odbcDriverConnect(connection="Driver={SQL Server 
Native Client 11.0};server=hostname;database=TPCH;
trusted_connection=yes;")

如何找到所需的详细信息?

我以前使用一个名为odbc的连接完成了这项工作,我已经建立了这个连接。如果您不知道,您可以在windows中通过键入搜索提示符“odbc”并选择“设置数据源”来创建一个。例如-如果将odbc连接命名为“con1”,则可以通过以下方式进行连接:

con<-odbcConnect('con1') #opening odbc connection


df<-sqlQuery(con, "select  *
                         from ssiD.dbo.HOURLY_SALES
                         ") #querying table


close(con)
con这对我很有用

library(RODBC)
dbconnection <- odbcDriverConnect("Driver=ODBC Driver 11 for SQL Server;Server=server_name; Database=table_name;Uid=; Pwd=; trusted_connection=yes")
initdata <- sqlQuery(dbconnection,paste("select * from MyTable;"))
odbcClose(channel)
库(RODBC)

dbconnection问题比这个简单。最大的线索是错误消息中的
\n
。某些内容已使连接字符串重新流动,因此现在驱动程序名称中有一个新行字符。这与任何已注册的驱动程序名称都不匹配。痛苦和痛苦随之而来。确保您的整个连接字符串都在一条线上

我经常使用:
driver={SQL Server本机客户端11.0}


而且效果非常好。比依赖预定义的连接名要好得多。

首先,您需要安装包“RSQLServer”及其所有依赖项。 然后在RStudio中使用相关参数执行以下命令:

conn <- DBI::dbConnect(RSQLServer::SQLServer(),
                 server = '<server>', 
                 port = '<port>',
                 properties = list(
                   user = '<user>',
                   password = '<password>'
                 ))
conn尝试另一个ODBC驱动程序。
在windows中,按“windows”按钮,然后键入“odbc”。
单击“数据源(ODBC)”链接。
转到“驱动程序”选项卡以查看SQL Server的可用驱动程序。
另外-删除连接字符串中分号后的“”空格。
注意-数据库属性应指向数据库名称,而不是表名称

这对我很有用:

odbcDriverConnect("Driver=SQL Server Native Client 11.0;Server=<IP of server>;Database=<Database Name>;Uid=<SQL username>;Pwd=<SQL password>")
odbcDriverConnect(“驱动程序=SQL Server本机客户端11.0;服务器=;数据库=;Uid=;Pwd=”)

我认为您只需要“SQL Server”作为驱动程序。这就是我用来连接SQL Server 2012的全部内容。我认为您(在实际实现中)已将Server=hostname中的hostname替换为实际的hostname…\n哪个搜索提示符是windows提示符,然后将您带到odbc管理?是的。然后设置一个到您的服务器的命名连接database@user1605665这对你不管用吗?如果您需要有关ODBC连接的说明-我收到一个错误,指示odbcConnect函数未知。我应该先安装软件包吗?@Eralper-很可能是这样<代码>安装。软件包('RODBC')
应该可以工作。看来
RSQLServer
已从CRAN中删除
odbcDriverConnect("Driver=SQL Server Native Client 11.0;Server=<IP of server>;Database=<Database Name>;Uid=<SQL username>;Pwd=<SQL password>")