Я пытаюсь получить доступ к SQL Серверу по локальной сети anet с помощью R, где R загружается в docker файл с R-base.
На моем рабочем столе я создайте драйвер ODB C, и он распознает мои windows учетные данные со следующими данными:
odbcDriverConnect('driver={SQL Server};server=<serverName>;database=<dbName>;trusted_connection=yes')
Используя R-base, после долгих проб и ошибок мне удалось установить RODB C , но я не знаю, как подключиться к этому серверу.
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 studio и использую install.packages("RODBC")
Как подключиться к серверу SQL из файла docker?
---------- Обновление
после создания контейнера docker в Ubuntu я обнаружил, что не могу пропинговать имя сервера. Однако я был в состоянии пинговать IP-адрес сервера.
Я изменил строку поиска для проверки связи с IP-адресом и изменил драйвер следующим образом:
odbcDriverConnect('driver={ODBC Driver 17 for SQL Server};server=<serverName>;database=<dbName>;trusted_connection=yes')
Это все еще не работает.