linux环境中QT程序连接达梦数据库DM7简介
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简介相关推荐
- linux qt 达梦,linux环境中QT程序连接达梦数据库DM7简介
linux环境中QT程序连接达梦数据库DM7简介 一.安装UnixODBC 1.下载UnixODBC安装包 下载地址:ftp://ftp.unixodbc.org/pub/unixODBC/unixO ...
- Linux环境下如何安装达梦数据库
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Linux环境下如何安装达梦数据库 一.检查服务器防火墙 二.安装步骤 1.创建达梦用户 2.创建达梦目录 3.配置系统限制 4.镜像 ...
- Windows Qt连接达梦数据库
下载达梦数据库 首先可以在达梦数据库的官网下载达梦数据库:https://www.dameng.com/list_103.html 如果你的QT程序是64位的,那么就下载win64 的达梦数据库,相应 ...
- Linux 平台配置ODBC连接达梦数据库
ODBC连接DM数据库 1.手工编译安装 2.配置驱动信息 odbcinst.ini 和数据源信息 odbc.ini 3.测试数据源连接 Linux 平台配置ODBC连接达梦数据库 1.手工编译安装 ...
- dm7和mysql_【干货分享】达梦数据库DM7的新特性发布啦
原标题:[干货分享]达梦数据库DM7的新特性发布啦 近日,DM7正式发布新特性.作为一款广受业内人士认可的国产数据库产品,最突出的特征就是它良好的兼容性,完善的功能以及超出客户期望的优秀性能表现:本次 ...
- 国产数据库之达梦数据库 - DM7 MPP集群安装配置
武汉达梦数据库作为国产数据库较有代表性的企业,在数据库研发方面投入了大量的精力,其自主研发的达梦数据库DM7,除了具有单机版可与Oracle相媲美的能力外,同时也研发了一款无共享MPP架构的数据库软件 ...
- Linux 7中安装达梦数据库DM7
一安装前准备工作 1.1检查Linux(Unix)系统信息 用户在安装DM前,需要检查当前操作系统的相关信息,确认DM安装程序与当前操作系统匹配,以保证DM能够正确安装和运行.用户可以使用以下命令 ...
- Qt 连接达梦数据库
2019独角兽企业重金招聘Python工程师标准>>> 前提条件:达梦数据库版本dm7_setup_win32_ent_20160630.Qt Creater5.4.1.操作系统wi ...
- Linux环境中Qt程序的手工发布
Qt 5.7.0 编写的程序需要部署到一台没有安装Qt的目标机器上,程序采用C++与QML混合编程,QML做界面,C++写逻辑. 环境说明 开发环境 Ubuntu 16.04.1 LTS 运行环 ...
最新文章
- zkcli远程连接_ZooKeeper 学习笔记(二)-API 操作和应用
- 设计模式C++实现(3)——适配器模式
- linux+网卡驱动社区,Linux下如何确定网卡所使用的驱动程序
- tty_operations
- (计算机组成原理)第一章计算机系统概述-王道重点习题及杂项总结
- DCS::TabNotebook
- D3 interpolate
- Agglomerated SSL 1.2.0 发布
- 如何使用Log4net创建日志及简单扩展
- 【项目实践】充电台灯电路拆解
- SQL2008用户sa登录失败(错误18456)解决方法
- 学堂在线 UWP 首版
- 第一篇博客--有志者,事竟成
- [bzoj3197][SDOI2013]assassin
- 移动优先和桌面优先的状态
- 查看英伟达Nvidia显卡、cuda版本
- OA办公系统选购,千万别犯这些错
- NVDIMM原理与应用之四:NVDIMM的数据恢复、使用和监控
- 惠普1000-1408TX拆机换硅脂,清灰
- 运维的职业发展方向有哪些?该如何规划?