다음을 통해 공유


Microsoft ODBC Driver for SQL Server 설치(macOS)

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

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

참고 항목

macOS 기반 Microsoft ODBC driver for SQL Server는 버전 17.7까지 x64 아키텍처에서만 지원됩니다. 버전 17.8부터 Apple ARM64 지원이 추가되었습니다. 아키텍처가 감지되고 Homebrew 수식에 따라 올바른 패키지가 자동으로 설치됩니다. 명령 프롬프트가 ARM64의 x64 에뮬레이션 모드에서 실행 중인 경우 x64 패키지가 설치됩니다. 명령 프롬프트가 에뮬레이션 모드로 실행 중이지 않은 경우 ARM64 패키지가 설치됩니다. 또한 ARM64 아키텍처에서 Homebrew 기본 디렉터리가 /opt/homebrew로 변경되었습니다. 드라이버 파일 섹션의 경로는 기본적으로 /usr/local(으)로 설정된 x64 Homebrew 경로를 사용하므로 파일 경로는 이에 따라 달라집니다.

Microsoft ODBC 18

macOS에 Microsoft ODBC Driver 18 for SQL Server를 설치하려면 다음 명령을 실행합니다.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
brew update
HOMEBREW_ACCEPT_EULA=Y brew install msodbcsql18 mssql-tools18

이전 버전

다음 섹션에서는 macOS에 이전 버전의 Microsoft ODBC 드라이버를 설치하기 위한 지침을 제공합니다.

Microsoft ODBC 17

macOS에 Microsoft ODBC Driver 17 for SQL Server를 설치하려면 다음 명령을 실행합니다.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
brew update
HOMEBREW_ACCEPT_EULA=Y brew install msodbcsql17 mssql-tools

Important

잠시 사용 가능했던 v17 msodbcsql 패키지를 설치한 경우 msodbcsql17 패키지를 설치하기 전에 해당 패키지를 제거해야 합니다. 이를 통해 충돌을 방지할 수 있습니다. msodbcsql17 패키지는 msodbcsql v13 패키지와 병렬로 설치할 수 있습니다.

ODBC 13.1

다음 명령을 사용하여 SQL Server용 Microsoft ODBC 드라이버 13.1을 OS X 10.11(El Capitan) 및 macOS 10.12(Sierra)에 설치합니다.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
brew update
brew install msodbcsql@13.1.9.2 mssql-tools@14.0.6.0

드라이버 파일

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

구성 요소 설명
libmsodbcsql.18.dylib, libmsodbcsql.17.dylib 또는 libmsodbcsql.13.dylib 드라이버 기능이 모두 포함된 동적 라이브러리(dylib) 파일입니다. 이 파일은 /usr/local/lib/에 설치됩니다.
msodbcsqlr18.rll 또는 msodbcsqlr17.rll 또는 msodbcsqlr13.rll 드라이버 라이브러리에 대한 해당 리소스 파일입니다. 이 파일은 드라이버 18의 경우 [driver .dylib directory]../share/msodbcsql18/resources/en_US/, 드라이버 17의 경우 [driver .dylib directory]../share/msodbcsql17/resources/en_US/, 드라이버 13의 경우 [driver .dylib directory]../share/msodbcsql/resources/en_US/에 설치됩니다.
msodbcsql.h 드라이버를 사용하는 데 필요한 모든 새 정의가 포함된 헤더 파일입니다.

참고: 동일한 프로그램에서 msodbcsql.h 및 odbcss.h를 참조할 수 없습니다.
msodbcsql.h는 드라이버 18의 경우 /usr/local/include/msodbcsql18/, 드라이버 17의 경우 /usr/local/include/msodbcsql17/, 드라이버 13의 경우 /usr/local/include/msodbcsql/에 설치됩니다.
LICENSE.txt 최종 사용자 사용권 계약 조건이 포함된 텍스트 파일입니다. 이 파일은 드라이버 18의 경우 /usr/local/share/doc/msodbcsql18/, 드라이버 17의 경우 /usr/local/share/doc/msodbcsql17/, 드라이버 13의 경우 /usr/local/share/doc/msodbcsql/에 저장됩니다.
RELEASE_NOTES 릴리스 정보가 포함된 텍스트 파일입니다. 이 파일은 드라이버 18의 경우 /usr/local/share/doc/msodbcsql18/, 드라이버 17의 경우 /usr/local/share/doc/msodbcsql17/, 드라이버 13의 경우 /usr/local/share/doc/msodbcsql/에 저장됩니다.

리소스 파일 로드

드라이버가 작동하려면 리소스 파일을 로드해야 합니다. 이 파일의 이름은 드라이버 버전에 따라 msodbcsqlr18.rll, msodbcsqlr17.rll 또는 msodbcsqlr13.rll입니다. .rll 파일의 위치는 구성 요소 표에서 설명했듯이 드라이버 자체(so 또는 dylib)의 위치에 대한 상대 위치입니다. 버전 17.1부터 드라이버가 상대 경로에서 로드에 실패하면 기본 디렉터리에서 .rll의 로드를 시도합니다. macOS의 기본 리소스 파일 경로는 /usr/local/share/msodbcsql18/resources/en_US/입니다.

문제 해결

일부 사용자는 ODBC 드라이버를 설치한 후 연결을 시도할 때 "[01000] [unixODBC][Driver Manager]Can't open lib 'ODBC Driver 18 for SQL Server' : file not found (0) (SQLDriverConnect)"과(와) 같은 오류가 발생하는 문제를 겪습니다. 이 오류는 unixODBC가 등록된 드라이버를 찾도록 올바르게 구성되지 않았기 때문일 수 있습니다. 이 경우 바로 가기 링크를 만들면 문제를 해결할 수 있습니다.

sudo ln -s /usr/local/etc/odbcinst.ini /etc/odbcinst.ini
sudo ln -s /usr/local/etc/odbc.ini /etc/odbc.ini

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

brew에서 수식을 찾는 데 문제가 있는 경우 설치 단계(brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release)를 건너뛰지 않았는지 확인합니다.