Microsoft ODBC Driver for SQL Server 설치(Linux)

이 문서에서는 Linux에 Microsoft ODBC Driver for SQL Server를 설치하는 방법을 설명합니다. SQL Server용 선택적 명령줄 도구(bcpsqlcmd)와 unixODBC 개발 헤더에 대한 지침도 포함되어 있습니다.

이 문서에서는 bash 셸에서 ODBC 드라이버를 설치하기 위한 명령을 제공합니다. 패키지를 직접 다운로드하려면 ODBC Driver for SQL Server 다운로드를 참조하세요.

Microsoft ODBC 18

다음 섹션에서는 다양한 Linux 배포용 bash 셸에서 Microsoft ODBC Driver 18을 설치하는 방법을 설명합니다. 지원되는 배포판은 Alpine Linux, Debian, RHEL(Red Hat Enterprise Linux), Oracle Linux, SLES(SUSE Linux Enterprise Server) 및 Ubuntu입니다.

#Download the desired package(s)
curl -O https://download.microsoft.com/download/8/6/8/868e5fc4-7bfe-494d-8f9d-115cbcdb52ae/msodbcsql18_18.1.2.1-1_amd64.apk
curl -O https://download.microsoft.com/download/8/6/8/868e5fc4-7bfe-494d-8f9d-115cbcdb52ae/mssql-tools18_18.1.1.1-1_amd64.apk


#(Optional) Verify signature, if 'gpg' is missing install it using 'apk add gnupg':
curl -O https://download.microsoft.com/download/8/6/8/868e5fc4-7bfe-494d-8f9d-115cbcdb52ae/msodbcsql18_18.1.2.1-1_amd64.sig
curl -O https://download.microsoft.com/download/8/6/8/868e5fc4-7bfe-494d-8f9d-115cbcdb52ae/mssql-tools18_18.1.1.1-1_amd64.sig

curl https://packages.microsoft.com/keys/microsoft.asc  | gpg --import -
gpg --verify msodbcsql18_18.1.2.1-1_amd64.sig msodbcsql18_18.1.2.1-1_amd64.apk
gpg --verify mssql-tools18_18.1.1.1-1_amd64.sig mssql-tools18_18.1.1.1-1_amd64.apk


#Install the package(s)
sudo apk add --allow-untrusted msodbcsql18_18.1.2.1-1_amd64.apk
sudo apk add --allow-untrusted mssql-tools18_18.1.1.1-1_amd64.apk

참고

Alpine을 지원하려면 드라이버 버전 17.5 이상이 필요합니다.

이전 버전

다음 섹션에서는 Linux에 이전 버전의 Microsoft ODBC Driver를 설치하는 방법을 설명합니다. 해당하는 드라이버 버전은 다음과 같습니다.

Microsoft ODBC 17

다음 섹션에서는 다양한 Linux 배포용 bash 셸에서 Microsoft ODBC Driver 17을 설치하는 방법을 설명합니다.

중요

일시적으로 사용할 수 있었던 v17 msodbcsql 패키지를 설치한 경우 msodbcsql17 패키지를 설치하기 전에 제거하는 것이 좋습니다. 그래야 충돌이 방지됩니다. msodbcsql17 패키지는 msodbcsql v13 패키지와 병렬로 설치할 수 있습니다.

#Download the desired package(s)
curl -O https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.10.2.1-1_amd64.apk
curl -O https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/mssql-tools_17.10.1.1-1_amd64.apk

#(Optional) Verify signature, if 'gpg' is missing install it using 'apk add gnupg':
curl -O https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.10.2.1-1_amd64.sig
curl -O https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/mssql-tools_17.10.1.1-1_amd64.sig

curl https://packages.microsoft.com/keys/microsoft.asc  | gpg --import -
gpg --verify msodbcsql17_17.10.1.1-1_amd64.sig msodbcsql17_17.10.2.1-1_amd64.apk
gpg --verify mssql-tools_17.10.1.1-1_amd64.sig mssql-tools_17.10.1.1-1_amd64.apk

#Install the package(s)
sudo apk add --allow-untrusted msodbcsql17_17.10.2.1-1_amd64.apk
sudo apk add --allow-untrusted mssql-tools_17.10.1.1-1_amd64.apk

참고

Alpine을 지원하려면 드라이버 버전 17.5 이상이 필요합니다.

ODBC 13.1

다음 섹션에서는 다양한 Linux 배포용 bash 셸에서 Microsoft ODBC Driver 13.1을 설치하는 방법을 설명합니다.

sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/debian/8/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install msodbcsql
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y apt-get install mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo apt-get install unixodbc-dev

ODBC 13

다음 섹션에서는 다양한 Linux 배포용 bash 셸에서 Microsoft ODBC Driver 13을 설치하는 방법을 설명합니다.

sudo su
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo
exit
sudo yum update
sudo yum remove unixODBC #to avoid conflicts
sudo ACCEPT_EULA=Y yum install msodbcsql-13.0.1.0-1 mssql-tools-14.0.2.0-1
sudo yum install unixODBC-utf16-devel #this step is optional but recommended*
#Create symlinks for tools
ln -sfn /opt/mssql-tools/bin/sqlcmd-13.0.1.0 /usr/bin/sqlcmd
ln -sfn /opt/mssql-tools/bin/bcp-13.0.1.0 /usr/bin/bcp

오프라인 설치

인터넷 연결이 없는 컴퓨터에 Microsoft ODBC Driver 13을 설치해야 하는 경우 패키지 종속성을 수동으로 해결해야 합니다. Microsoft ODBC 드라이버 13에는 다음과 같은 직접 종속성이 있습니다.

  • Ubuntu: libc6 (>= 2.21), libstdc++6 (>= 4.9), libkrb5-3, libcurl3, openssl, debconf (>= 0.5), unixodbc (>= 2.3.1-1)
  • Red Hat: glibc, e2fsprogs, krb5-libs, openssl, unixODBC
  • SUSE: glibc, libuuid1, krb5, openssl, unixODBC

위의 각 패키지는 차례로 자체의 종속성이 있으며, 시스템에 해당 종속성이 있을 수도 있고 없는 경우도 있습니다. 이 문제에 대한 일반적인 해결 방법은 Red Hat, Ubuntu, SUSE 등 사용하는 배포의 패키지 관리자 설명서를 참조하세요.

또한 수동으로 모든 종속성 패키지를 다운로드하고 설치 컴퓨터에 함께 저장한 다음, 수동으로 각 패키지를 차례로 설치하여 Microsoft ODBC Driver 13 패키지를 완성하는 것이 일반적인 방법입니다.

yum install glibc e2fsprogs krb5-libs openssl unixODBC unixODBC-devel #install dependencies
sudo rpm -i  msodbcsql-13.1.X.X-X.x86_64.rpm #install the Driver

ODBC 11

다음 섹션에서는 Linux에 Microsoft ODBC Driver 11을 설치하는 방법을 설명합니다. 드라이버를 사용하려면 먼저 unixODBC 드라이버 관리자를 설치합니다. 자세한 내용은 드라이버 관리자 설치를 참조하세요.

설치 단계

중요

이러한 지침은 Red Hat Linux용 설치 파일인 msodbcsql-11.0.2270.0.tar.gz를 참조합니다. SUSE Linux용 미리 보기를 설치하는 경우 파일 이름은 msodbcsql-11.0.2260.0.tar.gz입니다.

드라이버를 설치하려면

  1. 루트 권한이 있는지 확인합니다.

  2. 다운로드할 때 msodbcsql-11.0.2270.0.tar.gz 파일을 저장한 디렉터리로 변경합니다. Linux 버전과 일치하는 *.tar.gz 파일이 있는지 확인합니다. 파일을 추출하려면 tar xvzf msodbcsql-11.0.2270.0.tar.gz 명령을 실행합니다.

  3. msodbcsql-11.0.2270.0 디렉터리로 변경하면 install.sh라는 파일이 나타납니다.

  4. 사용 가능한 설치 옵션 목록을 보려면 다음 명령을 실행합니다. ./install.sh

  5. odbcinst.ini의 백업을 만듭니다. 드라이버 설치에서 odbcinst.ini를 업데이트합니다. odbcinst.ini에는 unixODBC 드라이버 관리자에 등록된 드라이버 목록이 있습니다. 컴퓨터에서 odbcinst.ini의 위치를 검색하려면 odbc_config --odbcinstini 명령을 실행합니다.

  6. 드라이버를 설치하기 전에 ./install.sh verify 명령을 실행합니다. ./install.sh verify 출력은 컴퓨터가 Linux 기반 ODBC 드라이버를 지원하는 데 필요한 소프트웨어가 있는지 보고합니다.

  7. Linux에 ODBC 드라이버를 설치할 준비가 되면 ./install.sh install 명령을 실행합니다. 설치 명령(bin-dir 또는 lib-dir)을 지정해야 하는 경우 install 옵션 다음에 명령을 지정합니다.

  8. 사용권 계약을 검토한 후 YES 를 입력하여 설치를 계속합니다.

설치 시 드라이버는 /opt/microsoft/msodbcsql/11.0.2270.0에 저장됩니다. 드라이버 및 해당 지원 파일은 /opt/microsoft/msodbcsql/11.0.2270.0에 있어야 합니다.

Linux 기반 Microsoft ODBC 드라이버가 제대로 등록되었는지 확인하려면 odbcinst -q -d -n "ODBC Driver 11 for SQL Server" 명령을 실행합니다.

제거

다음 명령을 실행하여 Linux 기반 ODBC 드라이버 11을 제거할 수 있습니다.

  1. rm -f /usr/bin/sqlcmd

  2. rm -f /usr/bin/bcp

  3. rm -rf /opt/microsoft/msodbcsql

  4. odbcinst -u -d -n "ODBC Driver 11 for SQL Server"

드라이버 파일

Linux 기반 ODBC 드라이버는 다음 구성 요소를 포함합니다.

구성 요소 Description
libmsodbcsql-17.X.so.X.X 또는 libmsodbcsql-13.X.so.X.X 드라이버 기능이 모두 포함된 공유 개체(so) 동적 라이브러리 파일입니다. 이 파일은 드라이버 17의 경우 /opt/microsoft/msodbcsql17/lib64/ 및 드라이버 13의 경우 /opt/microsoft/msodbcsql/lib64/에 설치됩니다.
msodbcsqlr17.rll 또는 msodbcsqlr13.rll 드라이버 라이브러리에 대한 해당 리소스 파일입니다. 이 파일은 [driver .so directory]../share/resources/en_US/에 설치됩니다.
msodbcsql.h 드라이버를 사용하는 데 필요한 새 정의를 모두 포함하는 헤더 파일입니다.

참고: 동일한 프로그램에서 msodbcsql.h 및 odbcss.h를 참조할 수 없습니다.

msodbcsql.h는 드라이버 17의 경우 /opt/microsoft/msodbcsql17/include/ 및 드라이버 13의 경우 /opt/microsoft/msodbcsql/include/에 설치됩니다.
LICENSE.txt 최종 사용자 사용권 계약의 사용 약관을 포함하는 텍스트 파일입니다. 이 파일은 드라이버 17의 경우 /usr/share/doc/msodbcsql17/ 및 드라이버 13의 경우 /usr/share/doc/msodbcsql/에 저장됩니다.
RELEASE_NOTES 릴리스 정보를 포함하는 텍스트 파일입니다. 이 파일은 드라이버 17의 경우 /usr/share/doc/msodbcsql17/ 및 드라이버 13의 경우 /usr/share/doc/msodbcsql/에 저장됩니다.

리소스 파일 로드

드라이버가 작동하려면 리소스 파일을 로드해야 합니다. 이 파일의 이름은 드라이버 버전에 따라 msodbcsqlr17.rll 또는 msodbcsqlr13.rll입니다. .rll 파일의 위치는 위의 표에서 설명했듯이 드라이버 자체(so 또는 dylib)의 위치에 대한 상대 위치입니다. 버전 17.1 현재 .rll을 상대 경로에서 로드하는 데 실패한 경우 기본 디렉터리에서도 로드를 시도합니다. Linux의 기본 리소스 파일 경로는 /opt/microsoft/msodbcsql17/share/resources/en_US/입니다.

문제 해결

ODBC 드라이버를 사용하여 SQL Server에 연결할 수 없는 경우 연결 문제 해결에서 알려진 문제 문서를 참조하세요.

다음 단계

드라이버를 설치한 후 C++ ODBC 예제 애플리케이션을 사용해 볼 수 있습니다. ODBC 애플리케이션을 개발하는 방법에 대한 자세한 내용은 애플리케이션 개발을 참조하세요.

자세한 내용은 ODBC 드라이버 릴리스 정보시스템 요구 사항을 참조하세요.