티스토리 뷰
에러 메시지:
resultMessage": "('01000', \"[01000] [unixODBC][Driver Manager]Can't open lib 'PostgreSQL Unicode(x64)' : file not found (0) (SQLDriverConnect)\")"
이 에러는 Python Flask 애플리케이션이 ODBC를 통해 PostgreSQL 데이터베이스에 연결하려 할 때 드라이버를 찾지 못해서 발생한 것입니다.
🔍 원인 요약
- unixODBC는 PostgreSQL에 연결하기 위해 ODBC 드라이버를 사용하려고 하는데, 설정된 드라이버 'PostgreSQL Unicode(x64)'를 찾을 수 없습니다.
- 드라이버가 설치되지 않았거나, odbcinst.ini 설정 파일에 정의되어 있지 않거나, 잘못된 경로를 가리키고 있을 수 있습니다.
✅ 해결 방법
1. PostgreSQL ODBC 드라이버 설치
리눅스에서는 다음 명령어로 드라이버 설치:
sudo apt-get update
sudo apt-get install odbc-postgresql
Red Hat 계열(RHEL, CentOS 등)에서는:
sudo yum install postgresql-odbc
2. ODBC 설정 파일 확인
/etc/odbcinst.ini에 드라이버가 정의되어 있는지 확인:
[PostgreSQL Unicode(x64)]
Description = ODBC for PostgreSQL
Driver = /usr/lib/x86_64-linux-gnu/odbc/psqlodbcw.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libodbcpsqlS.so
- Driver와 Setup 경로가 실제 파일과 일치하는지 확인.
- 경로가 다르면 find나 locate 명령어로 드라이버 경로를 찾으세요:
find /usr -name "psqlodbcw.so"
3. 드라이버 이름 확인
코드에서 사용 중인 드라이버 이름이 설정과 일치해야 합니다.
예시: Python에서 사용하는 연결 문자열 (예: pyodbc)
import pyodbc
conn = pyodbc.connect(
"DRIVER={PostgreSQL Unicode(x64)};SERVER=localhost;DATABASE=test;UID=user;PWD=password"
)
- 여기서 DRIVER={PostgreSQL Unicode(x64)} 부분이 odbcinst.ini의 [PostgreSQL Unicode(x64)]와 정확히 일치해야 합니다.
- 이름이 다르면 에러가 발생합니다.
🧪 테스트 방법
설치 및 설정 완료 후, 다음 명령어로 ODBC 연결을 테스트하세요:
isql -v testdsn user password
(DNS가 설정되어 있을 경우)
✅ 요약
항목 확인 사항
드라이버 설치 | odbc-postgresql 설치 여부 |
odbcinst.ini | [PostgreSQL Unicode(x64)] 정의 및 경로 |
연결 문자열 | 드라이버 이름이 정확히 일치하는지 |
파일 경로 | 드라이버 경로가 실제 존재하는지 |
'Skill > 기반기술' 카테고리의 다른 글
Flask 앱을 Linux에서 백그라운드로 실행 (0) | 2025.05.29 |
---|---|
자동 리팩토링 방법(IntelliJ, VSCode) (1) | 2025.05.26 |
flask log 보기 (0) | 2025.05.22 |
python] filename: Union[str, Path] (0) | 2025.05.22 |
PyCharm에서 .env 파일을 사용해 local과 dev 같은 환경설정 (1) | 2025.05.21 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- getter
- PostgreSQL
- $.each
- object key
- Keycode
- setter
- 진열사랑
- 프로젝트명변경
- oracle
- element위치
- $.extend
- caniuse
- devtools
- 여러 컬럼 update
- excel
- draw.io
- DatePicker
- springboot
- QueryDSL
- 전후방탐색
- sumifs
- @ExceptionHandler
- Javascript
- border-collapse
- CSS
- 정규식
- spring
- lombok
- JQuery
- ul li로 테이블
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함