ETL data error with MariaDB ODBC 3.0 (from Aurora to MS SQL)
· Version : SQL Server 2016, AWS Aurora, Maria ODBC 3.0
최근 다양한 DB환경이 구성되면서 DW(Data Warehouse)를 구축할 때, ETL 작업 또한 이기종 DB (데이터베이스가 다른 종류간의 ETL) 작업이 증가하는 추세이다. 필자는 현재 다양한 데이터베이스를 구축 운영하고 있으며 MySQL 에서 MS SQL 로 ETL과정중 예기치 못한 데이터 오류가 많이 발생 하였다. AWS에 있는 Aurora (MySQL 5.6) 데이터 원본에서MS SQL Server로 ETL하는 과정에서 Decimal값이 정상적으로 표시되지 않고 /100 값으로 변환되어 출력되어지는 문제점이 발견되었다.
ETL방식은 SQL Server에서 MariaDB ODBC 3.0 Driver를 사용하여 AWS Aurora 데이터베이스 데이터를 오픈 쿼리 방식으로 가져온다. 모든 데이터에 대해서 /100 으로 변환되지는 않으며 decimal 데이터 타입에서만 변환되는것을 확인하였다. 구글에서 Maria odbc decimal error 로 검색해보니 이미 많은 사용자들이 해당 이슈를 보고 하였고 관련 솔루션도 소개되어 있다.
다양한 해결 방법중에 MariaDB ODBC 3.03 Driver 에서는 해당 이슈가 해결되었다는 글이 있어 드라이버를 업그레이드 진행 하였다. 그리고 테스트 결과 정상적으로 값이 출력됨을 확인할 수 있었다.
각종 ODBC Driver 에 대한 버전은 ODBC Data Source Administrator에서 Drivers 탭에서 확인할 수 있다.
· MariaDB ODBC Driver 설치 또는 업그레이드시 시스템 재부팅이 요구되므로 주의한다.
2018-05-30 / 강성욱 / http://sqlmvp.kr / http://sqlangeles.com
Aurora My5.6, ETL, MariaDB ODBC driver error, ODBC decimal error, ETL, ODBC driver, MySQL, MariaDB, MSSQL
'SQL Server > SQL Server Tip' 카테고리의 다른 글
SQL Server update on Docker (0) | 2019.03.25 |
---|---|
SQL Server 2017에서 향상된 UDF 실행 계획 (0) | 2019.03.25 |
Run the SQL Server 2017 with Docker (0) | 2019.03.25 |
SQL Server Configuration Manager 실행 오류 (WMI 공급자 연결 오류) (0) | 2019.03.25 |
How to check if Azure SQL is using In-Memory (0) | 2019.03.25 |