
ms-sqlserver db에 연결 중 위와 같은 ImportError를 만난다면 아직 mac 환경에 ODBC 드라이버 세팅이 되어 있지 않았기 때문이다.
symbol not found in flat namespace '_SQLAllocHandle'
Mac 환경에서 SQL Server 연결 시에는 DB 접속 정보뿐만 아니라 ODBC 드라이버 세팅이 되어야 접속 가능하다.
1. Homebrew를 통해 UnixODBC 설치
환경 세팅을 위해 Homebrew를 사용합니다.
Homebrew는 macOS에서 패키지 관리를 쉽게 해주는 도구입니다.
Homebrew 미설치 시
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
UnixODBC 설치
brew install unixodbc
2. ODBC 드라이버 설치
SQL Server 연결을 위해 본인에게 맞는 ODBC 드라이버를 설치합니다.
작성자는 18 버젼을 사용하고 있기에 msodbcsql18 설치
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
brew update
HOMEBREW_NO_AUTO_UPDATE=1 brew install msodbcsql18
3. pyodbc 재설치
UnixODBC와 ODBC 드라이버가 설치된 후, pyodbc를 재설치합니다. 가상 환경(venv) 내에서 아래 명령어를 실행합니다.
pip uninstall pyodbc
pip install pyodbc
4. 환경 변수 설정
필요한 경우, ODBC 드라이버의 위치를 환경 변수에 추가해줍니다. ~/.zshrc 또는 ~/.bash_profile 파일에 다음과 같은 줄을 추가합니다.
export ODBCINI=/usr/local/etc/odbc.ini
export ODBCSYSINI=/usr/local/etc
설정 적용
source ~/.zshrc # 또는 source ~/.bash_profile'Python > FastAPI' 카테고리의 다른 글
| [FastAPI] PassLib와 Bcrypt를 활용한 패스워드 해싱 (0) | 2024.11.30 |
|---|---|
| [FastAPI] AttributeError - 'ScalarResult' object has no attribute 'field' (0) | 2024.11.17 |
| Mac 환경에서 mysqlclient 설치 시, pkg-config가 설치되어 있지 않다면 만날 수 있는 에러 - Can not find valid pkg-config name. (0) | 2024.11.10 |
| [FastAPI] LifeSpan Events에 대해 알아보자 (0) | 2024.11.09 |
| Sqlacodegen 사용하여 SqlAlchemy Model 자동생성하기 (0) | 2024.11.07 |