[英]How to connect Ms SQL server with R on Ubuntu 16.04?
我无法使用RODBC和RJDBC将R与MS sql连接
使用RODBC
library(RODBC)
dbhandle <- odbcDriverConnect(paste("driver={SQL Server};server=", sname, ";database=",
dbname, ";uid=", user,";pwd=",password, sep = ""))
res <- sqlFetch(dbhandle, client.table_name)
我得到的错误是:
Warning messages:
1: In odbcDriverConnect(paste("driver=SQL Server;server=", sname, ";database=", :
[RODBC] ERROR: state 01000, code 0, message [unixODBC][Driver Manager]Can't open lib 'SQL Server' : file not found
2: In odbcDriverConnect(paste("driver=SQL Server;server=", sname, ";database=", :
ODBC connection failed
我也尝试过RJDBC
library(rJava)
library(RJDBC)
drv <- JDBC(driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver",
classPath="/home/****/sqljdbc_4.2/enu/jre8/sqljdbc42.jar")
conn <- dbConnect(drv, paste0("jdbc:sqlserver://",client.hostname),
user=client.username , password=client.password, dbname = client.dbName)
错误是
Error in .jcall(drv@jdrv, "Ljava/sql/Connection;", "connect", as.character(url)[1], :
com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "SQL Server did not return a response. The connection has been closed. ClientConnectionId:253fd8d2-8e60-40fb-96b0-220745818166".
当我在下面的代码中连接到MSSQLSERVER时遇到了相同的错误
library(RODBC)
dbconnection <- odbcDriverConnect("Driver=SQL Server;Server=192.168.76.60; Database=kaggle;Uid=sa; Pwd=1234")
丢给我
[unixODBC][Driver Manager]Can't open lib 'SQL Server' : file not found
为什么会引发此错误? 答:当我们无法在驱动程序值上输入正确的ODBC版本名称时。
从那里我们可以获得驱动程序ODBC版本名称
在“ / etc”文件夹中,您将找到“ odbcinst.ini”文件,将其打开并检查版本名称
[ODBC Driver 17 for SQL Server]
Description=Microsoft ODBC Driver 17 for SQL Server
Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.1.so.0.1
UsageCount=1
所以我从这里得到了ODBC驱动程序名称,它将是“ SQL Server的ODBC驱动程序17”,然后我修改了连接字符串
library(RODBC)
dbconnection <- odbcDriverConnect("Driver=ODBC Driver 17 for SQL Server;Server=192.168.76.60; Database=kaggle;Uid=sa; Pwd=1234")
而且效果很好
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.