Mac OSでQODBCをアクティブ化/テストする手順((Seirra)MSSQLまたはその他のODBC DBに向けて:
症状1:Qt実行(デバッグ)アプリケーションがクラッシュする(プログラムが予期せず終了/クラッシュする)症状2:Qtパッケージがビルド済みのQtクリエーター(MaintenanceTool)。
症状3:freeTDSパッケージをインストールした後、freeTDSドライバー(libtdsodbc.so)が見つからない。
症状4:unixODBCが欠落している、または欠落しているQtがビルド/構成されている。
- unixODBCをダウンロードしてインストールします(freeTDSをインストールする前に行う必要があります )( www.unixODBC.org )/(ドライバー)/(unixODBC-2.3.4.tar.gz)
パッケージを解凍して解凍します。
./configure --prefix=/usr/local/unixODBC
(またはsudoを記述できることを確認してください)
make
sudo make istall
- freeTDSをダウンロードしてインストールします:( http://www.freetds.org/ )/(クイックリンク)/(最新バージョン)/(安定版リリース)
パッケージを解凍/解凍します。
./configure --prefix=/usr/local/freeTDS --with-unixodbc=/usr/local/unixODBC/
make
sudo make istall
注:--with-unixodbc
ドライバ(libtdsodbc.so)がインストールされます。
-
残念ながら、QtのODBCプラグインを再構築する必要があるかもしれません:
-
ビルド済みのQtライブラリを使用している場合は、MaintenanceTool($ QTDIR / MaintenanceTool.app)を使用してソースをダウンロードする必要があります
-
qmakeにunixODBCヘッダーファイルと共有ライブラリの場所を指示し(ここでは、unixODBCが/ usr / local / unixODBCにインストールされていると想定しています)、makeを実行します。
cd $QTDIR/qtbase/src/plugins/sqldrivers/odbc
私の場合:
cd /usr/local/Qt/5.9.1/Src/qtbase/src/plugins/sqldrivers/odbc
qmake "INCLUDEPATH+=/usr/local/unixODBC/include" "LIBS+=-L/usr/local/unixODBC/lib -lodbc"
make
-
それが正しく行われた場合:コンパイルされたQODBCの新しいライブラリを取得します:
cd ../plugins/sqldrivers/
たとえば、新しいパッケージを次の場所にコピーします:
/usr/local/Qt/5.9.1/clang_64/plugins/sqldrivers/
- /etc/local/unixODBC/etc/odbc.iniを構成します(ルート権限が必要な場合があります> mdifyする)
(freeTDSを構成する必要はありません):
- (どのポート?どのバージョン ->
/usr/local/freeTDS/bin/tsql -LH 192.168.x.x
を実行します -
/usr/local/unixODBC/etc/odbc.ini
でエントリを作成/変更します[MYDSN]
Driver = /usr/local/freeTDS/lib/libtdsodbc.0.so
Server = 192.168.x.x
Port = 51271
- Qtプロジェクトの場合:
QSqlDatabase mydb = QSqlDatabase::addDatabase("QODBC");
mydb.setDatabaseName("MYDSN")
mydb.setUserName("name on Database");
mydb.setPassword(" password on Database");