簡體   English   中英

使用 docker、rbase 和 RODBC 連接到 sql 服務器時出錯

[英]Error connecting to sql server with docker, rbase, and RODBC

I'm trying to access a SQL Server on a local intranet with R, where R is loaded in a docker file with R-base.

在我的桌面上,我創建了一個 ODBC 驅動程序,它通過以下內容識別我的 windows 憑據:

odbcDriverConnect('driver={SQL Server};server=<serverName>;database=<dbName>;trusted_connection=yes')

使用 R-base,經過大量試驗和錯誤后,我能夠安裝 RODBC,但我不知道如何連接到該服務器。

Warning messages:
[RODBC] ERROR: state 01000, code 0, message [unixODBC][Driver Manager]Can't open lib 'SQL Server' : file not found

DockerFile,經過大量試驗和錯誤構建。 我敢肯定其中大部分是多余的。 我還暴露了一些我發現做一些研究的端口,但我不知道是否需要暴露它們。


FROM openanalytics/r-base

# system libraries of general use
RUN apt-get update && apt-get install -y \
    sudo \
    libcairo2-dev \
    libxt-dev \
    libcurl4-gnutls-dev \
    libssl-dev \
    libssh2-1-dev \
    libssl1.0.0 
# RODBC
RUN apt-get update && \
    apt-get install -y --no-install-recommends \
    unixodbc \
    unixodbc-dev \
    unixodbc \
    unixodbc-dev \
    r-cran-rodbc \
    apt-transport-https \
    libssl-dev \
    libsasl2-dev \
    openssl \
    curl \
    unixodbc \
    gnupg \
    libc6 libc6-dev libc6-dbg

RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
RUN curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
#RUN curl https://packages.microsoft.com/config/ubuntu/19.10/prod.list > /etc/apt/sources.list.d/mssql-release.list
RUN apt-get update -y
RUN ACCEPT_EULA=Y apt-get install -y msodbcsql17 unixodbc-dev mssql-tools


EXPOSE 3838
EXPOSE 8787

構建文件后,我進入 R 工作室並使用install.packages("RODBC")

如何從 docker 文件連接到 SQL 服務器?

- - - - - 更新

在使用 Ubuntu 創建 docker 容器后,我發現我無法 ping 服務器名稱。 但是,我能夠 ping 服務器 ip 地址。

我修改了搜索字符串ping ip地址,並更改了驅動,如下:

odbcDriverConnect('driver={ODBC Driver 17 for SQL Server};server=<serverName>;database=<dbName>;trusted_connection=yes')

這仍然沒有奏效。

我無法弄清楚如何使用 docker 虛擬機內的 docker 主機的 Windows 憑據連接到數據庫。

我必須為數據庫創建一個用戶名和密碼並與之連接。

我認為如果您將驅動程序更改為 FreeTDS,這將起作用。 R 不支持 Sql 服務器驅動程序,除非它是專業計划。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM