리눅스상에서 MSSQL을 접근 하려고 보니 ODBC라이브러리가 필요하다.

python pyodbc를 사용하여 접근을 하는데 pyodbc만 있으면 일단 에러는 나지는 않지만

실행해서 해당 메소드가 실행 되면 에러가 난다. (드라이버를 찾을 수 없다고...)


이런 저런 문서를 보도가 MS 공식 문서가 있어서 백업 해 둔다.


이건 2016년에 나온 블로그에 있는 ODBC Driver 13 설치를 위한 문서

https://blogs.msdn.microsoft.com/sqlnativeclient/2016/10/20/odbc-driver-13-0-for-linux-released/


이건 아마도 최신 문서까지 계속 갱신 하는 것 같다.

https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server


해당 문서를 참고하여 13.1 버전을 설치 했다.

대부분 비슷하고 배포판과 버전에 따라 설치 명령어와 repository가 틀리다.


Installing the Microsoft ODBC Driver.pdf



python으로 개발하는 PC는 주로 윈도우고 가끔 맥을 쓰고 배포는 리눅스에다가 한다.

최근에 SQL관련 라이브러리를 쓸 일이 있었는데


그때 SQL관련 문자열을 넣어줄 때 오류가 나길래 봤더니 이게 OS나 배포 버전에 맞게 돌아간다.

윈도우는 버전을 지정안 해줘도 되었지만, 리눅스의 경우 해당 버전을 명시해야 돌아가는...


그래서 OS구분을 위해서 처리함


원본은 stackoverflow에서

https://stackoverflow.com/questions/1854/python-what-os-am-i-running-on


pyodbc를 쓰면서 날짜 관련 오류를 stackoverflow에 있는 함수를 가져다 썻었는데.

해당 부분이 ValueError: zero length field name in format 라고 배포 서버에서 오류가..


개발 컴퓨터는 python 2.7 이었고 배포 서버가 2.6 이었음


검색을 해보니 2.7에서는 format 구문이 {} 해도 되나

2.6은 명확하게 넣어 줘야 한다는 것


python으로 맹글었던 모듈중에 메일 보내는 게 있었는데

뭔가 계속 에러를 뱉어내어...( 물론 테스트 시는 잘됨...서비스망에 올리려니 안되서 --;)


다른걸로 테스트 해 볼것을 찾아 보니 있어 명령어를 정리 해본다.


SMTP 오류 에러 관련은 구글 쪽 참고

https://support.google.com/a/answer/3726730?hl=ko


Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast


 active repository에 2주 이상 접속을 못하는 환경의 서버를 실행하는 경우 오래된 데이터에 대한 오류를 표시하는 오류

해당 메세지는 clean으로 해결할 수 있다.


$ yum clean all


+ Recent posts