如何在 Ubuntu 16.04 上将 Ms SQL 服务器与 R 连接?

     2023-05-07     109

关键词:

【中文标题】如何在 Ubuntu 16.04 上将 Ms SQL 服务器与 R 连接?【英文标题】:How to connect Ms SQL server with R on Ubuntu 16.04? 【发布时间】:2019-01-25 09:44:56 【问题描述】:

我无法使用 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".

【问题讨论】:

【参考方案1】:

当我将下面的代码用于连接到 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")

而且效果很好

【讨论】:

在 odbcDriverConnect(paste("driver=ODBC Driver 17 for SQL Server;server=", : [RODBC] ERROR: state 08001, code 87, message [unixODBC][Microsoft][ODBC Driver 17 SQL Server]在建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。找不到或无法访问服务器。请检查实例名称是否正确以及 SQL Server 是否配置为允许远程连接。有关更多信息有关信息,请参阅 SQL Server 联机丛书。 @Shubh 你有没有按照每个步骤进行操作 是的,我的 odbc.inst.ini [ODBC Driver 17 for SQL Server] 中有这个 @Shubh 你的错误是不同的它说网络相关的问题所以我认为你输入了错误的服务器名称或服务器无法访问

在 ubuntu 16.04 LTS 上运行 mongodb

...nubuntu16.04LTS【发布时间】:2016-08-2902:12:36【问题描述】:如何在Ubuntu16.04LTS上将Mongodb作为服务运行?几天前,我将服务器升级到了Ubuntu16.04。我注意到我的MongoDB服务在我重新启动时没有启动。尝试使用sudoinitctlstartmongod没有成功... 查看详情

在 Ubuntu Server 上将 .R 文件转换为实际的 Shiny 应用程序

...器在Ubuntu16.04的AWS实例上托管它们。我的问题是我不明白如何将.R文件翻译成可以作为 查看详情

如何在 MS Access VBA 上将文本框注释值输入设置为表格数据插入

】如何在MSAccessVBA上将文本框注释值输入设置为表格数据插入【英文标题】:HowtosetTextBoxCommentValueInputasTableDataInsertonMSAccessVBA【发布时间】:2018-10-1115:27:28【问题描述】:我有一个主要的“最终表格”正在通过VBA根据表单和其他... 查看详情

如何在 Android 上将 MS Office DOC/XLS/PPT 和 PDF 转换为图像

】如何在Android上将MSOfficeDOC/XLS/PPT和PDF转换为图像【英文标题】:HowtoconvertaMSOfficeDOC/XLS/PPT&PDFtoimageonAndroid【发布时间】:2014-12-0612:40:01【问题描述】:我们需要能够将Office文档作为图像导入应用程序。在Windows上,我们使用具... 查看详情

如何在 ubuntu 上将 ejabberd 与 mysql 连接?

】如何在ubuntu上将ejabberd与mysql连接?【英文标题】:Howtoconnectejabberdwithmysqlonubuntu?【发布时间】:2013-12-1713:02:18【问题描述】:我已经在我的本地主机(WAMP)上安装了ejabberd并且它在Mnesia数据库(默认)上正常工作,现在我想将... 查看详情

ubuntu16.04怎样显示桌面

1、在Ubuntu16.04中,快速显示桌面有一组专用的键盘快捷键,那就是同时按下以下键:Ctrl+Win+d。按下以后,桌面将变成一片空白;再按一次,桌面恢复到之前的状态。2、如果在Ubuntu16.04中启用了工作区,同时查看所有工作区的快... 查看详情

如何在ubuntu上将php5更改为php 5.6版本

】如何在ubuntu上将php5更改为php5.6版本【英文标题】:Howtochangephp5tophp5.6versiononubuntu【发布时间】:2017-07-0510:15:57【问题描述】:我在使用ubuntu14.04的服务器上,并且已经安装了php5.5和5.6版本,在查看phpinfo()之后,我知道php位于/etc... 查看详情

如何在ubuntu上将open cl安装到vega 8移动显卡?

】如何在ubuntu上将opencl安装到vega8移动显卡?【英文标题】:Howtoinstallopencltovega8mobilegraphicscardonubuntu?【发布时间】:2020-06-2908:01:17【问题描述】:我试图在我的linux笔记本电脑(华为matebookd15)ryzen53500U和vega8显卡上使用davinciresolv... 查看详情

如何在 Ubuntu 16.04 上安装 PHPMyAdmin

】如何在Ubuntu16.04上安装PHPMyAdmin【英文标题】:HowtoinstallPHPMyAdminonUbuntu16.04【发布时间】:2016-08-2402:44:23【问题描述】:我是ubuntu操作系统的新手。我通过谷歌搜索在我的本地机器上安装了nginx服务器、PHP7.0.5和MySQL服务器版本5.7.... 查看详情

如何在 Ubuntu 上将 mod_wsgi 安装到 xampp 服务器?遇到 libtool 错误

】如何在Ubuntu上将mod_wsgi安装到xampp服务器?遇到libtool错误【英文标题】:HowdoIinstallmod_wsgitoxamppserveronUbuntu?Runningintolibtoolerrors【发布时间】:2014-01-2211:23:53【问题描述】:我正在尝试将Python和mod_wsgi添加到XAMPP/LAMPP服务器。我正... 查看详情

如何在 Ubuntu 16.04LTS 中禁用透明大页面 (THP)

】如何在Ubuntu16.04LTS中禁用透明大页面(THP)【英文标题】:HowtodisableTransparentHugePages(THP)inUbuntu16.04LTS【发布时间】:2017-06-2811:01:25【问题描述】:我正在设置一个带有3个运行Ubuntu16.04LTS的virtualboxVM的ambari集群。但是我收到以下警告... 查看详情

如何在 Ubuntu 16.04 中安装 php-curl

】如何在Ubuntu16.04中安装php-curl【英文标题】:Howtoinstallphp-curlinUbuntu16.04【发布时间】:2016-12-1212:58:18【问题描述】:升级到Ubuntu16.04,安装PHP5后遇到问题。安装了PHP-5,如下:sudoadd-apt-repositoryppa:ondrej/phpsudoapt-getupdatesudoapt-getupgra... 查看详情

如何在 Ubuntu Linux 上将 pymssql 安装到 Python 3.4 而不是 2.7?

】如何在UbuntuLinux上将pymssql安装到Python3.4而不是2.7?【英文标题】:HowtoinstallpymssqltoPython3.4ratherthan2.7onUbuntuLinux?【发布时间】:2015-10-1323:38:44【问题描述】:我对Linux并不太熟悉,我正在尝试运行一个依赖于Python3.4和pymssql的Python... 查看详情

以编程方式在 Mac 上将 MS Access 导入 CSV

】以编程方式在Mac上将MSAccess导入CSV【英文标题】:ImportMSAccesstoCSVonMacprogrammatically【发布时间】:2010-12-0218:51:16【问题描述】:OfficialCohortDefaultRatesforSchoolssite在左侧有一个“下载整个列表”链接。这将下载Access数据库文件(.accdb)... 查看详情

如何在 Ubuntu 16.04 中安装 Charles Proxy 4

】如何在Ubuntu16.04中安装CharlesProxy4【英文标题】:HowtoinstallCharlesProxy4inUbuntu16.04【发布时间】:2017-05-1013:46:59【问题描述】:我能够安装CharlesProxy3(sudoaptinstallcharles-proxy3),但找不到4的软件包。https://www.charlesproxy.com/documentation/inst... 查看详情

如何在 Ubuntu 16.04 中全局安装 web3?

】如何在Ubuntu16.04中全局安装web3?【英文标题】:HowcanIinstallweb3globallyinUbuntu16.04?【发布时间】:2018-07-1723:04:48【问题描述】:我正在尝试通过npm安装web3。sudonpminstall-gweb3但我遇到了以下错误。tom@ubuntu:/$sudonpminstall-gweb3npmWARNdepreca... 查看详情

text如何在ubuntu16.04上添加交换空间(代码片段)

查看详情

text如何在ubuntu16.04上安装geckodriver(代码片段)

查看详情