1、安装神通数据库
2、安装unixodbc(正常会生成odbcinst.ini初始化配置文件,以及odbc.ini文件)
3、配置神通数据库ODBC数据源
进入神通的odbc目录
需要把神通数据库odbc的配置文件覆盖到unixodbc的配置文件中,神通默认在/etc/下,unixodbc可以通过odbcinst -j可查看
测试连接,出现下图提示即成功
unixodbc连接数据源odsn
下图即连接成功
4、编译QT的odbc驱动
注:目前有好多QT版本都已经自带驱动了,安装完qt之后,可先自行检查是否带有驱动,如果有驱动,可以直接连接神通demo测试.
find / -name libqsqlodbc.so
一般在QT的………/gcc_64/plugins/sqldrivers目录(不同的QT版本路径不同,但是/plugins/sqldrivers目录一般都有)
如果没有的话自行编译,按照下面编译步骤
(1)进入QT的odbc目录(通过find / -name odbc查找)
(2)执行qmake
qmake如有以下报错:
报错:[root@localhost odbc]# /opt/Qt5.13.2/5.13.2/gcc_64/bin/qmake odbc.pro
Info: creating stash file /opt/Qt5.13.2/5.13.2/Src/qtbase/src/plugins/sqldrivers/.qmake.stash
Cannot read /opt/Qt5.13.2/5.13.2/Src/qtbase/src/plugins/sqldrivers/qtsqldrivers-config.pri: No such file or directory
解决方法: cd /opt/Qt5.13.2/5.13.2/Src/qtbase/src/plugins/sqldrivers
vim qtsqldrivers-config.pri
QT.sqldrivers.enabled_features =
QT.sqldrivers.disabled_features =
QT.sqldrivers.QT_CONFIG =
QT.sqldrivers.exports =
QT.sqldrivers_private.enabled_features = sql-sqlite sql-mysql
QT.sqldrivers_private.disabled_features = sql-db2 sql-ibase sql-oci sql-odbc sql-psql sql-sqlite2 sql-tds system-sqlite
报错:/opt/rh/devtoolset-10/root/usr/libexec/gcc/x86_64-redhat-linux/10/ld: .obj/qsql_odbc.o: in function `QODBCResult::detachFromResultSet()':
/opt/Qt5.13.2/5.13.2/Src/qtbase/src/plugins/sqldrivers/odbc/qsql_odbc.cpp:1839: undefined reference to `SQLCloseCursor'
collect2: error: ld returned 1 exit status
make: *** [../plugins/sqldrivers/libqsqlodbc.so] 错误 1
解决方法:
/opt/Qt5.13.2/5.13.2/gcc_64/bin/qmake -makefile "INCLUDEPATH+=/opt/unixODBC-2.3.11/include" "LIBS+=-L/opt/unixODBC-2.3.11/lib -lodbc" odbc.pro
(3)make install或者make即可
5、启动QT,执行demo测试数据库连接即可