下载达梦数据库

首先可以在达梦数据库的官网下载达梦数据库:https://www.dameng.com/list_103.html

如果你的QT程序是64位的,那么就下载win64 的达梦数据库,相应的32位的QT程序要下载win32的达梦数据库。否则,程序在连接数据库时,会报 “驱动程序和应用程序之间的体系结构不匹配” 的错误。


安装并初始化达梦数据库

Windows的安装比较简单,直接用默认的配置,一直下一步就可以,直到安装完成。安装完成后初始化数据库会弹出数据库配置助手,可以选择创建数据库实例。点击开始按钮,中间的大部分步骤都可以直接下一步,使用默认配置:

这里是设置数据库的控制文件、数据文件、日志文件的存储位置:

这里初始化参数中,簇和页都是设置数据缓冲区的大小,簇就是Oracle中的区,页是Oracle中的块,是最小的存储单位,也使用默认的即可:

这里口令管理需要配置数据库的用户名和密码,如果直接下一步的话,密码口令和账号一致:

再在下一步创建示例库时,两个示例的库可以都选择上,然后点击完成后,创建数据库完成。


达梦数据库介绍

登录数据库,使用的用户名和口令就是刚才创建数据库实例的时候设置的用户名和口令:

在创建 DM 数据库时,会自动创建5个表空间:SYSTEM表空间、ROLL表空间、MAIN 表空间、TEMP表空间和HMAIN表空间。

  • SYSTEM表空间:存放了有关达梦数据库的字典信息,用户不能在SYSTEM表空间创建表和索引。
  • ROLL表空间:完全由DM数据库自动维护,用户无需干预。该表空间用来存放事务运行过程中执行DML操作之前的值,从而为访问该表的其他用户提供表数据的读一致性视图。
  • MAIN表空间:在初始化库的时候,就会自动创建一个大小为128M的数据文件MAIN.DBF。在创建用户时,如果没有指定默认表空间,则系统自动指定 MAIN 表空间为用户默认的表空间。
  • TEMP表空间:完全由DM数据库自动维护。当用户的SQL语句需要磁盘空间来完成某个操作时,DM数据库会从TEMP表空间分配临时段。如创建索引、无法在内存中完成的排序操作、SQL语句中间结果集以及用户创建的临时表等都会使用到 TEMP表空间。
  • HMAIN表空间:属于HTS (HUGE TABLESPACE)表空间,完全由 DM 数据库自动维护,用户无需干涉。当用户在创建 HUGE 表时,未指定 HTS 表空间的情况下,充当默认HTS表空间。

新建表空间,可以自己定义该表空间的文件路径、大小、是否自动扩充、缓存等。除了在这里创建,也可以使用SQL语句创建,例如:

create tablespace "TEST" datafile 'TEST.DBF' size 32 CACHE = NORMAL;

创建用户,设置用户名和密码,以及该用户使用的表空间:

新建表,可以使用图形化界面创建,也可以使用SQL语句直接创建,可以指定创建表的表空间:

可以直接右键查看数据,查看每张表里面的数据:


配置ODBC

我们使用QT连接达梦数据库,是使用ODBC驱动连接的,所以需要先配置达梦数据库的ODBC驱动,先在控制面板->Windows工具中找到ODBC 数据源:

只要达梦数据库安装成功,应该都可以在这里看到达梦数据库的ODBC驱动,剩下的就是要在用户DNS中添加达梦数据库的ODBC驱动:


使用QT连接数据库

首先先要在pro文件中加入:

QT += sql

连接数据库:

QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setHostName("localhost");
db.setPort(5236);
db.setDatabaseName("DMDATABASE");
db.setUserName("SYSDBA");
db.setPassword("SYSDBA");
if (db.open())
{qDebug() << "connect ok!";
}
else
{qDebug() << "connect fail! " << db.lastError().text();
}

        清空表,初始化测试环境:

QSqlQuery query;QString strsql = "delete from PRODUCTION.PRODUCT_CATEGORY";
if(query.exec(strsql))
{qDebug() << "delete ok!";
}
else
{qDebug() << "delete fail! " << query.lastError().text();
}
query.clear();

        插入数据:

QSqlQuery query;QString strsql = "insert into PRODUCTION.PRODUCT_CATEGORY(NAME) values('语文'), ('数学'), ('英语'), ('体育')";
if (query.exec(strsql))
{qDebug() << "insert ok!";
}
else
{qDebug() << "insert fail! " << query.lastError().text();
}
query.clear();

删除数据:

QSqlQuery query;QString strsql = "delete from PRODUCTION.PRODUCT_CATEGORY where name='数学'";
if (query.exec(strsql))
{qDebug() << "delete ok!";
}
else
{qDebug() << "delete fail! " << query.lastError().text();
}
query.clear();

更新数据:

QSqlQuery query;QString strsql = "update PRODUCTION.PRODUCT_CATEGORY set name = '英语—新课标' where name='英语';";
if (query.exec(strsql))
{qDebug() << "update ok!";
}
else
{qDebug() << "update fail! " << query.lastError().text();
}
query.clear();

查询数据:

QSqlQuery query;QString strsql = "select name from PRODUCTION.PRODUCT_CATEGORY";
if (query.exec(strsql))
{qDebug() << "select ok!";
}
else
{qDebug() << "select fail! " << query.lastError().text();
}
while (query.next())
{qDebug() << query.value(0).toString().toStdString().c_str();
}
query.clear();

Windows Qt连接达梦数据库相关推荐

  1. Qt 连接达梦数据库

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

  2. QT Create OCI方式连接达梦数据库

    QT OCI方式连接达梦数据库 一.背景 用户使用QT Create开发集成软件 OCI的方式连接数据库. 需要说明的是,本人非开发人员,所以在C++代码编写思路或者使用方式上难免有些低级操作,调试中 ...

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

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

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

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

  5. jmeter连接达梦数据库进行测试

    文章目录 前言 一.准备 1 软件下载 2 解压 3 配置Windows环境变量 二.使用 1.启动jmeter 2.jmeter使用 2.1添加JDBC Connection Configurati ...

  6. Python连接达梦数据库

    1.安装dmPython(windows环境) 01.安装DM数据库软件并设置DM_HOME环境变量 ##只需要DM数据库客户端就可以远程连接达梦数据库 dmPython源码依赖DM安装目录中提供的i ...

  7. 【Kettle 工具】如何安装及连接达梦数据库

    Kettle 工具如何安装及连接达梦数据库 1 如何下载 进入 Kettle官网下载 点击此处链接下载 2 解压 zip 包 双击解压即可. 3 安装 jdk 配置环境变量 参考[Java]如何安装配 ...

  8. java获取达梦数据库_Java连接达梦数据库驱动dm_jdbc

    [实例简介] Java连接达梦数据库驱动dm_jdbc: dm_jdbc\com.dameng.floader.jar dm_jdbc\com.dameng.impexp.jar dm_jdbc\Dm ...

  9. PHP连接达梦数据库

    PHP连接达梦数据库 背景 PDO(PHP Data Objects)是一种在PHP里连接数据库的使用接口. PHP 数据对象(PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口.实现 PDO ...

最新文章

  1. 缩放浏览器不会换行_深入了解现代浏览器之三 - 渲染
  2. IIS的虚拟目录和子应用程序
  3. STM32之CAN---中断管理浅析
  4. Java中的24种设计模式与7大原则
  5. vue 前端显示图片加token_前端Vue3.0:从0到1手把手撸码搭建管理后台系统
  6. 随机抽样java_java生成抽样随机数的多种算法
  7. mysql query browser的使用_影响MySQL性能的配置参数
  8. 洛谷P2480:古代猪文(中国剩余定理)(欧拉定理)
  9. 创建基于密码的加密密钥
  10. .NET----错误和异常处理机制
  11. 使用ORB_SLAM2的方式进行特征检测和提取
  12. react学习笔记--一--移动端项目搭建
  13. ResNet 残差网络
  14. 村上春树 --《当我谈跑步时,我谈些什么》句子摘录​
  15. jq富文本_jQuery富文本编辑器Notebook
  16. MDK 出现#68-D: integer conversion resulted in a change of sign
  17. 红米k40关闭广告方法分享(图文)
  18. 【图像加密】图像处理之Logistic混沌序列加密
  19. 『 高达 购物车案例 』jQuery + Java Script 全功能实现【超详细 代码分析】
  20. 内容分享,详细的招投标流程,看完请收藏

热门文章

  1. Java实现客户端向服务器端定时上传数据
  2. Covariance and Unbiased Estimate
  3. 左氨氯地平不是一种国产原研药吗为什么还要通过仿制药一致性评价
  4. Chatbot思考录
  5. 51nod 1613 翻硬币
  6. BUUCTF RE WP36-38 [FlareOn4]IgniteMe、[MRCTF2020]Xor、[MRCTF2020]hello_world_go
  7. Debian安装ATI 显卡
  8. Allan方差定义与计算方法简介
  9. JavaWeb(二):Cookie、Session、JSP、过滤器和监听器、JDBC
  10. 二〇一七互联网八大猜想