다음 섹션에서는 다양한 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 이상이 필요합니다.
sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
#Download appropriate package for the OS version
#Choose only ONE of the following, corresponding to your OS version
#Debian 9
curl https://packages.microsoft.com/config/debian/9/prod.list > /etc/apt/sources.list.d/mssql-release.list
#Debian 10
curl https://packages.microsoft.com/config/debian/10/prod.list > /etc/apt/sources.list.d/mssql-release.list
#Debian 11
curl https://packages.microsoft.com/config/debian/11/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y apt-get install -y mssql-tools18
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo apt-get install -y unixodbc-dev
# optional: kerberos library for debian-slim distributions
sudo apt-get install -y libgssapi-krb5-2
참고
환경 변수 'ACCEPT_EULA'를 debconf 변수 'msodbcsql/ACCEPT_EULA'로 대신 설정할 수 있습니다. echo msodbcsql18 msodbcsql/ACCEPT_EULA boolean true | sudo debconf-set-selections
sudo su
#Download appropriate package for the OS version
#Choose only ONE of the following, corresponding to your OS version
#RHEL 7 and Oracle Linux 7
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo
#RHEL 8 and Oracle Linux 8
curl https://packages.microsoft.com/config/rhel/8/prod.repo > /etc/yum.repos.d/mssql-release.repo
exit
sudo yum remove unixODBC-utf16 unixODBC-utf16-devel #to avoid conflicts
sudo ACCEPT_EULA=Y yum install -y msodbcsql18
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y yum install -y mssql-tools18
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo yum install -y unixODBC-devel
sudo su
curl -O https://packages.microsoft.com/keys/microsoft.asc
rpm --import microsoft.asc
#Download appropriate package for the OS version
#Choose only ONE of the following, corresponding to your OS version
#SLES 12
zypper ar https://packages.microsoft.com/config/sles/12/prod.repo
#SLES 15
zypper ar https://packages.microsoft.com/config/sles/15/prod.repo
#(Only for driver 17.3 and below)
SUSEConnect -p sle-module-legacy/15/x86_64
exit
sudo ACCEPT_EULA=Y zypper install -y msodbcsql18
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y zypper install -y mssql-tools18
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo zypper install -y unixODBC-devel
if ! [[ "18.04 20.04 22.04" == *"$(lsb_release -rs)"* ]];
then
echo "Ubuntu $(lsb_release -rs) is not currently supported.";
exit;
fi
sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y apt-get install -y mssql-tools18
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo apt-get install -y unixodbc-dev
참고
환경 변수 'ACCEPT_EULA'를 debconf 변수 'msodbcsql/ACCEPT_EULA'로 대신 설정할 수 있습니다. echo msodbcsql18 msodbcsql/ACCEPT_EULA boolean true | sudo debconf-set-selections
이전 버전
다음 섹션에서는 Linux에 이전 버전의 Microsoft ODBC Driver를 설치하는 방법을 설명합니다. 해당하는 드라이버 버전은 다음과 같습니다.
#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 이상이 필요합니다.
sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
#Download appropriate package for the OS version
#Choose only ONE of the following, corresponding to your OS version
#Debian 9
curl https://packages.microsoft.com/config/debian/9/prod.list > /etc/apt/sources.list.d/mssql-release.list
#Debian 10
curl https://packages.microsoft.com/config/debian/10/prod.list > /etc/apt/sources.list.d/mssql-release.list
#Debian 11
curl https://packages.microsoft.com/config/debian/11/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql17
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y apt-get install -y mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo apt-get install -y unixodbc-dev
# optional: kerberos library for debian-slim distributions
sudo apt-get install -y libgssapi-krb5-2
참고
환경 변수 'ACCEPT_EULA'를 debconf 변수 'msodbcsql/ACCEPT_EULA'로 대신 설정할 수 있습니다. echo msodbcsql17 msodbcsql/ACCEPT_EULA boolean true | sudo debconf-set-selections
sudo su
#Download appropriate package for the OS version
#Choose only ONE of the following, corresponding to your OS version
#RHEL 7 and Oracle Linux 7
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo
#RHEL 8 and Oracle Linux 8
curl https://packages.microsoft.com/config/rhel/8/prod.repo > /etc/yum.repos.d/mssql-release.repo
exit
sudo yum remove unixODBC-utf16 unixODBC-utf16-devel #to avoid conflicts
sudo ACCEPT_EULA=Y yum install -y msodbcsql17
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y yum install -y mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo yum install -y unixODBC-devel
sudo su
curl -O https://packages.microsoft.com/keys/microsoft.asc
rpm --import microsoft.asc
#Download appropriate package for the OS version
#Choose only ONE of the following, corresponding to your OS version
#SLES 12
zypper ar https://packages.microsoft.com/config/sles/12/prod.repo
#SLES 15
zypper ar https://packages.microsoft.com/config/sles/15/prod.repo
#(Only for driver 17.3 and below)
SUSEConnect -p sle-module-legacy/15/x86_64
exit
sudo ACCEPT_EULA=Y zypper install -y msodbcsql17
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y zypper install -y mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo zypper install -y unixODBC-devel
if ! [[ "16.04 18.04 20.04 22.04" == *"$(lsb_release -rs)"* ]];
then
echo "Ubuntu $(lsb_release -rs) is not currently supported.";
exit;
fi
sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql17
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y apt-get install -y mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo apt-get install -y unixodbc-dev
참고
환경 변수 'ACCEPT_EULA'를 debconf 변수 'msodbcsql/ACCEPT_EULA'로 대신 설정할 수 있습니다. echo msodbcsql17 msodbcsql/ACCEPT_EULA boolean true | sudo debconf-set-selections
ODBC 13.1
다음 섹션에서는 다양한 Linux 배포용 bash 셸에서 Microsoft ODBC Driver 13.1을 설치하는 방법을 설명합니다.
다음 섹션에서는 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입니다.
드라이버를 설치하려면
루트 권한이 있는지 확인합니다.
다운로드할 때 msodbcsql-11.0.2270.0.tar.gz 파일을 저장한 디렉터리로 변경합니다. Linux 버전과 일치하는 *.tar.gz 파일이 있는지 확인합니다. 파일을 추출하려면 tar xvzf msodbcsql-11.0.2270.0.tar.gz 명령을 실행합니다.
odbcinst.ini의 백업을 만듭니다. 드라이버 설치에서 odbcinst.ini를 업데이트합니다. odbcinst.ini에는 unixODBC 드라이버 관리자에 등록된 드라이버 목록이 있습니다. 컴퓨터에서 odbcinst.ini의 위치를 검색하려면 odbc_config --odbcinstini 명령을 실행합니다.
드라이버를 설치하기 전에 ./install.sh verify 명령을 실행합니다. ./install.sh verify 출력은 컴퓨터가 Linux 기반 ODBC 드라이버를 지원하는 데 필요한 소프트웨어가 있는지 보고합니다.
Linux에 ODBC 드라이버를 설치할 준비가 되면 ./install.sh install 명령을 실행합니다. 설치 명령(bin-dir 또는 lib-dir)을 지정해야 하는 경우 install 옵션 다음에 명령을 지정합니다.
사용권 계약을 검토한 후 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을 제거할 수 있습니다.
rm -f /usr/bin/sqlcmd
rm -f /usr/bin/bcp
rm -rf /opt/microsoft/msodbcsql
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에 연결할 수 없는 경우 연결 문제 해결에서 알려진 문제 문서를 참조하세요.