0

如何插入/安装 QDB2 插件?(用于 Qt 的 SQLDriver,用于连接到 IBM DB2)。

我试过了

cd $QTDIR/plugins/src/sqldrivers/db2
qmake -o Makefile "INCLUDEPATH+=$DB2DIR/include" "LIBS+=-L$DB2DIR/lib -ldb2"
make

但是 $QTDIR 没有定义。Qt 是用 sudo apt-get ... 安装的,我不知道在哪里可以找到文件夹 qmake 也不会运行。无法识别模式或选项。

有人可以告诉我如何插入插件 QSqlDatabase::addDatabase("QDB2"); 能行得通

4

1 回答 1

0

这有点老了,但我遇到了类似的问题才能让它工作。我也通过谷歌在这里找到了这个,所以可能还有其他人面临同样的问题。

顺便说一句: $QTDIR 是由您更改以适应您的配置。

我使用了 Qt 5.7.1、IBM 的 DB2 Express-C 版本 11.1 和针对 x64 编译的 Visual Studio 2015 Update 3。这些说明来自我的相应博客文章

确保你已经安装了所有东西。我使用以下路径:

C:\Qt\5.7\msvc2015_64\bin: location of the build tool qmake
C:\Qt\5.7\Src: location of Qt's source code (default location when the sources are fetched with the maintenance tool)
C:\Program Files\IBM\SQLLIB: location inside IBM's install directory where the sql library is located

如果您使用不同的路径,请在以下构建说明中相应地调整它们。

  1. Qt 5.7.1 中存在一个错误(在 Qt 5.8.0 中似乎已修复),因此需要调整源。打开文件C:\Qt\5.7\Src\qtbase\src\sql\drivers\db2\qsql_db2.cpp并将第 1190d->hEnv = reinterpret_cast<SQLHANDLE>(env);行更改为,将第 1191 行更改为d->hDbc = reinterpret_cast<SQLHANDLE>(con);

  2. 使用管理权限打开 Visual Studio 命令行提示符(VS2015 x64 Native Tools-Eingabeaufforderung öffnen)

  3. cd到目录C:\Qt\5.7\Src\qtbase\src\plugins\sqldrivers\db2

  4. 运行命令C:\Qt\5.7\msvc2015_64\bin\qmake "INCLUDEPATH+=C:/progra~1/IBM/SQLLIB/include" "LIBS+=C:/progra~1/IBM/SQLLIB/lib/db2cli.lib"

    4.1。调整路径,如果您已将 DB2 安装到不同的目录

    4.2. 确保您替换Program Filesprogra~1(否则可能会由于空间而出现一些问题)

  5. 运行C:\Qt\5.7\Src\qtbase\src\plugins\sqldrivers\db2>nmake以构建库。可能会有一些警告,但它应该仍然有效。如果成功,生成的库应位于C:\Qt\5.7\Src\qtbase\plugins\sqldrivers

  6. 运行C:\Qt\5.7\Src\qtbase\src\plugins\sqldrivers\db2>nmakeinstall 以便将生成的库复制到C:\Qt\5.7\msvc2015_64\plugins\sqldrivers

  7. 启动 Qt Creator,打开 sqlbrowser 示例项目,构建并运行它。如果成功,您现在应该能够从列表中选择 QDB2 驱动程序并连接到您的数据库

于 2013-12-01T13:25:59.857 回答