Langkah-langkah untuk mengaktifkan/menguji QODBC di Mac OS ((Seirra) menuju MSSQL atau DB ODBC lainnya:
Gejala 1:Aplikasi Qt Run (Debug) mogok (program tiba-tiba selesai/rusak). Gejala 2:Qt Creator dengan paket Qt bawaan (MaintenanceTool).
Gejala 3:driver freeTDS (libtdsodbc.so) hilang setelah menginstal paket freeTDS.
Gejala 4:Qt dibuat/dikonfigurasi sebelum atau dengan unixODBC yang hilang.
- Unduh dan instal unixODBC (harus dilakukan sebelum menginstal freeTDS )(www.unixODBC.org ) / (Driver) / (unixODBC-2.3.4.tar.gz)
unzip dan untar paket.
./configure --prefix=/usr/local/unixODBC (pastikan Anda dapat menulis ATAU sudo)
make
sudo make istall
- Unduh dan pasang freeTDS:(https://www.freetds.org/ ) / ( Tautan Cepat) / (Versi Terbaru) / (Rilis Stabil)
untar/unzip paket.
./configure --prefix=/usr/local/freeTDS --with-unixodbc=/usr/local/unixODBC/
make
sudo make istall
Catatan:--with-unixodbc akan menyebabkan driver (libtdsodbc.so) diinstal.
-
Sayangnya, mungkin plugin ODBC di Qt harus dibuat ulang:
-
Jika Anda menggunakan pustaka Qt bawaan, Anda perlu mengunduh sumber menggunakan MaintenanceTool ($QTDIR/MaintenanceTool.app)
-
Beri tahu qmake di mana menemukan file header unixODBC dan pustaka bersama (di sini diasumsikan bahwa unixODBC diinstal di /usr/local/unixODBC) dan jalankan make:
cd $QTDIR/qtbase/src/plugins/sqldrivers/odbckasus saya:
cd /usr/local/Qt/5.9.1/Src/qtbase/src/plugins/sqldrivers/odbcqmake "INCLUDEPATH+=/usr/local/unixODBC/include" "LIBS+=-L/usr/local/unixODBC/lib -lodbc"make -
jika itu berjalan dengan benar:Anda akan memenuhi lib baru QODBC:
cd ../plugins/sqldrivers/
salin paket baru misalnya ke :
/usr/local/Qt/5.9.1/clang_64/plugins/sqldrivers/
- Konfigurasikan /etc/local/unixODBC/etc/odbc.ini (Anda mungkin memerlukan izin root untuk mengubah)
(Tidak perlu mengonfigurasi freeTDS):
- (port mana ? versi mana -> Jalankan
/usr/local/freeTDS/bin/tsql -LH 192.168.x.x -
Buat/Ubah entri di /usr/local/unixODBC/etc/odbc.ini
[MYDSN]Driver = /usr/local/freeTDS/lib/libtdsodbc.0.soServer = 192.168.x.xPort = 51271- dalam proyek Qt:
QSqlDatabase mydb = QSqlDatabase::addDatabase("QODBC");mydb.setDatabaseName("MYDSN")mydb.setUserName("name on Database");mydb.setPassword(" password on Database");