linux环境中QT程序连接达梦数据库DM7简介

一、安装UnixODBC
1、下载UnixODBC安装包
下载地址:ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-2.3.0.tar.gz
下载安装包unixODBC-2.3.0.tar.gz放到/usr/local下。
2、安装
运行下述命令:
cd /usr/local
tar zxvf unixODBC-2.3.0.tar.gz
cd unixODBC-2.3.0
./configure --prefix=/usr/local/unixODBC-2.3.0 --includedir=/usr/include --libdir=/usr/lib --bindir=/usr/bin --sysconfdir=/etc
make
make install
安装完成
3、测试
运行命令:
odbcinst -j
a.安装成功
终端会显示UnixODBC相关信息


unixODBC所需的头文件都被安装到了/usr/inlucde下,编译好的库文件安装到了/usr/lib下,与unixODBC相关的可执行文件安装到了/usr/bin下,配置文件放到了/etc下。安装完成

b.失败
终端显示:
odbcinst: error while loading shared libraries: libodbcinst.so.2: cannot open shared object file: No such file or directory
错误处理:
(1)如果库文件安装到了/lib或/usr/lib目录下,那么需在该目录下执行一下ldconfig命令

(2)其他情况请参阅:http://blog.csdn.net/dongweizu33/article/details/54616258

二、配置
1、修改配置文件
$ sudo vim /etc/odbc.ini

$ sudo vim /etc/odbcinst.ini

需要注意的是,配置unixodbc时要确认odbcinst.ini配置文件中Driver中的路径是否正确。此处的DRIVER应该对应DM7安装目录下bin目录下的libdodbc.so文件。
注:odbc.ini和odbcinst.ini中每行开头禁止留有空格,否则会有如下报错信息:
[IM002][unixODBC][Driver Manager]Data source name not found, and no default driver specified
[ISQL]ERROR: Could not SQLConnect。
直接从OneNote中拷贝代码到Ubuntu也会导致上述问题

2、检查unixODBC配置是否正确
[root@xx etc]# isql -v DM7 SYSDBA SYSDBA
±--------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
±--------------------------------------+
SQL>

如出现如上界面,说明UnixODBC配置成功。

三、问题解决方案
1、.so文件找不到

解决方案一:
第一步:查找该 .so 文件的依赖性

第二步:定位未找到的(=> not found)依赖文件


第三步:将依赖文件拷贝到/usr/lib中


第四步:再次查验该 .so 文件的依赖性,发现依赖文件完整

第三步的操作导致如下问题:

上述方案无法解决根本问题!!!
解决方案二:
该问题本质上是DM7没有安装在系统目录中导致的,将DM7安装在/opt目录中可直接解决问题!
在Linux环境中,QT工程通过UnixODBC连接DM数据库,需要手动启动DM服务器
dmserver dm.ini

四、UnixODBC要配合freetds在QT中连接数据库
1、FreeTDS的编译安装。

下载:http://pan.baidu.com/s/1o60XNQi
>解压
>cd freetds-0.9.1
>./configure --prefix=/usr/local/freetds
>make
>sudo make install

2、安装好后还需要配置3个文件:

1)配置 /usr/local/freetds/etc/freetds.conf

sudo vi /usr/local/freetds/etc/freetds.conf

#A typical Microsoft server

[testdsn] # SQL Server数据源名称,可以任意取有意义的名称

host=192.168.10.22 # 数据库主机

port=1344 #数据库监听端口

2)配置 /usr/local/unixODBC/etc/odbcinst.ini
[FreeTDS]
Description = FreeTDS unixODBC Driver
Driver = /usr/lib/libtdsodbc.so.0
UsageCount = 1

[SQL Server]
Description = FreeTDS unixODBC Driver
Driver = /usr/local/ unixODBC/lib/libtdsodbc.so.0
UsageCount = 1

3 )配置 /usr/local/unixODBC/etc/odbc.ini

testdsn] # 数据源名称
Driver=FreeTDS# 指向odbcinst.ini的驱动配置
Description=MSSQL Server
Servername=testdsn # 数据源名称
Database=sqlscada #数据库名称

五、关键QT源码
QSqlDatabase connection = QSqlDatabase::addDatabase(“QODBC”, connectionName);
connection.setDatabaseName(QString(“DM7_%1”).arg(tcpPort));//数据库名对应[DM_5236]、[DM_5237]等
connection.open(uid, pwd);

linux环境中QT程序连接达梦数据库DM7简介相关推荐

  1. linux qt 达梦,linux环境中QT程序连接达梦数据库DM7简介

    linux环境中QT程序连接达梦数据库DM7简介 一.安装UnixODBC 1.下载UnixODBC安装包 下载地址:ftp://ftp.unixodbc.org/pub/unixODBC/unixO ...

  2. Linux环境下如何安装达梦数据库

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Linux环境下如何安装达梦数据库 一.检查服务器防火墙 二.安装步骤 1.创建达梦用户 2.创建达梦目录 3.配置系统限制 4.镜像 ...

  3. Windows Qt连接达梦数据库

    下载达梦数据库 首先可以在达梦数据库的官网下载达梦数据库:https://www.dameng.com/list_103.html 如果你的QT程序是64位的,那么就下载win64 的达梦数据库,相应 ...

  4. Linux 平台配置ODBC连接达梦数据库

    ODBC连接DM数据库 1.手工编译安装 2.配置驱动信息 odbcinst.ini 和数据源信息 odbc.ini 3.测试数据源连接 Linux 平台配置ODBC连接达梦数据库 1.手工编译安装 ...

  5. dm7和mysql_【干货分享】达梦数据库DM7的新特性发布啦

    原标题:[干货分享]达梦数据库DM7的新特性发布啦 近日,DM7正式发布新特性.作为一款广受业内人士认可的国产数据库产品,最突出的特征就是它良好的兼容性,完善的功能以及超出客户期望的优秀性能表现:本次 ...

  6. 国产数据库之达梦数据库 - DM7 MPP集群安装配置

    武汉达梦数据库作为国产数据库较有代表性的企业,在数据库研发方面投入了大量的精力,其自主研发的达梦数据库DM7,除了具有单机版可与Oracle相媲美的能力外,同时也研发了一款无共享MPP架构的数据库软件 ...

  7. Linux 7中安装达梦数据库DM7

    一安装前准备工作  1.1检查Linux(Unix)系统信息  用户在安装DM前,需要检查当前操作系统的相关信息,确认DM安装程序与当前操作系统匹配,以保证DM能够正确安装和运行.用户可以使用以下命令 ...

  8. Qt 连接达梦数据库

    2019独角兽企业重金招聘Python工程师标准>>> 前提条件:达梦数据库版本dm7_setup_win32_ent_20160630.Qt Creater5.4.1.操作系统wi ...

  9. Linux环境中Qt程序的手工发布

    Qt 5.7.0 编写的程序需要部署到一台没有安装Qt的目标机器上,程序采用C++与QML混合编程,QML做界面,C++写逻辑. 环境说明 开发环境    Ubuntu 16.04.1 LTS 运行环 ...

最新文章

  1. zkcli远程连接_ZooKeeper 学习笔记(二)-API 操作和应用
  2. 设计模式C++实现(3)——适配器模式
  3. linux+网卡驱动社区,Linux下如何确定网卡所使用的驱动程序
  4. tty_operations
  5. (计算机组成原理)第一章计算机系统概述-王道重点习题及杂项总结
  6. DCS::TabNotebook
  7. D3 interpolate
  8. Agglomerated SSL 1.2.0 发布
  9. 如何使用Log4net创建日志及简单扩展
  10. 【项目实践】充电台灯电路拆解
  11. SQL2008用户sa登录失败(错误18456)解决方法
  12. 学堂在线 UWP 首版
  13. 第一篇博客--有志者,事竟成
  14. [bzoj3197][SDOI2013]assassin
  15. 移动优先和桌面优先的状态
  16. 查看英伟达Nvidia显卡、cuda版本
  17. OA办公系统选购,千万别犯这些错
  18. NVDIMM原理与应用之四:NVDIMM的数据恢复、使用和监控
  19. 惠普1000-1408TX拆机换硅脂,清灰
  20. 运维的职业发展方向有哪些?该如何规划?

热门文章

  1. 拿下它的心-车联网(二)
  2. 解决光驱盘符和虚拟光驱盘符消失的问题
  3. Vue 项目导入字体文件
  4. plsqldev查询数据乱码解决
  5. python3爬虫爬取英语单词到MySQL数据库
  6. 微型计算机原理课设抢答器,微机原理课程设计抢答器.doc
  7. Excel表格只能以打开模式打开如何解决?
  8. PAT乙级 1024. 科学计数法 (C语言)
  9. 在树莓派上安装mqtt客户端
  10. Python123.io---星号下三角形