macOS 10.14에서 pecl install oci8 형태로 oracle 확장을 설치하면 php 7.3 버전에서는 컴파일 에러가 발생한다. 이 경우 php 최신 소스를 다운로드 받아 빌드 후 설치한다.
$> cd ext/oci8
$> phpize
$> ./configure --with-oci8=instantclient,/디렉터리/instantclient_12_2
$> make
$> cd ext/pdo-oci
$> phpize
$> ./configure --with-pdo-oci=instantclient,/디렉터리/instantclient_12_2
$> make
# https://github.com/Microsoft/msphpsql/releases
$> vi /usr/local/etc/php/7.3/php.ini
extension=/usr/local/lib/php/oci8.so
extension=/usr/local/lib/php/pdo_oci.so
extension=/usr/local/lib/php/php_sqlsrv_73_nts.so
extension=/usr/local/lib/php/php_pdo_sqlsrv_73_nts.so
macOS에 QT Database Driver (QODBC, QOCI)를 설치하는 방법을 간단하게 정리하였다. qmake, make 순으로 설치.
QODBC :
qmake "INCLUDEPATH+=/usr/local/include" "LIBS+=-L/usr/local/lib -lodbc"
QOCI :
qmake "INCLUDEPATH+=/Users/사용자/UserLib/instantclient_12_2/sdk/include/" "LIBS+=-L/Users/사용자/UserLib/instantclient_12_2 -Wl,-rpath,/Users/사용자/UserLib/instantclient_12_2 -lclntsh" oci.pro
Windows 환경의 QT Framework에서 Oracle 연결을 위해서는 SQL Database Driver가 필요한 데 기본적으로 SQLite, MySQL, ODBC 등은 설치되어 있으나 Oracle은 추가로 설치해줘야 한다. 최종적으로 qsqloci.dll, qsqlocid.dll 파일이 필요한 셈이다. 자세한 내용은 GitHub에서 전체 설정 파일 및 연결 예제를 살펴보기 바란다.
oci.pro 파일 수정
qsqldriverbase.pri 파일 수정
$> qmake -- OCI_INCDIR=C:\instantclient_12_2\sdk\include OCI_LIBDIR=C:\instantclient_12_2\sdk\lib\msvc oci.pro 또는
$> qmake "INCLUDEPATH+=C:\instantclient_12_2\sdk\include" "LIBS+=-LC:\instantclient_12_2\sdk\lib\msvc -loci" oci.pro
$> nmake 또는 mingw32-make.exe
예제 파일 main.pro : QT += sql 추가