Windows Qt连接达梦数据库

这篇具有很好参考价值的文章主要介绍了Windows Qt连接达梦数据库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

下载达梦数据库

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

Windows Qt连接达梦数据库

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


 安装并初始化达梦数据库

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

Windows Qt连接达梦数据库

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

Windows Qt连接达梦数据库

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

Windows Qt连接达梦数据库

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

Windows Qt连接达梦数据库

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


达梦数据库介绍

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

Windows Qt连接达梦数据库

        在创建 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;

Windows Qt连接达梦数据库

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

Windows Qt连接达梦数据库

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

Windows Qt连接达梦数据库

Windows Qt连接达梦数据库

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

Windows Qt连接达梦数据库


配置ODBC

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

Windows Qt连接达梦数据库

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

Windows Qt连接达梦数据库

Windows Qt连接达梦数据库

Windows Qt连接达梦数据库


使用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();

        查询数据:文章来源地址https://www.toymoban.com/news/detail-420959.html

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连接达梦数据库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • docker安装达梦8,并且远程连接数据库

    官方技术文档地址:https://eco.dameng.com/document/dm/zh-cn/start/index.html 不能直接拉取达梦数据库的镜像,需要去官方提供的下载地址下载镜像,上传到服务器 下载地址:https://eco.dameng.com/download/ 下载完成之后确认下载文件大小无误,我下载的是dm8_20220822_rev166351_x86_rh6_64_ctm.tar 大小

    2024年02月17日
    浏览(51)
  • Mac使用DBeaver连接达梦数据库

    下载达梦驱动包 达梦数据库 在下载页面随便选择一个系统并下载下来。 下载下来的是zip的压缩包解压出来就是一个ISO文件,然后我们打开ISO文件进入目录: /dameng/source/drivers/jdbc 进入目录后找到这几个驱动包,随便选一个都能使用,当然我选的肯定是最新版的。 进入DBeave

    2024年02月08日
    浏览(72)
  • 【一】达梦数据库安装和使用-Windows

              新能源行业关系到国计民生,保障能源安全的意识不容懈怠,近些年各行各业都在推进数字化进程,能源行业在国家3060双碳目标提出之后更是进行的如火如荼,能源互联网方面在数字化的同时积极推进国产化技术应用,从而来确保能源行业数字化转型之后的安全稳

    2024年01月25日
    浏览(54)
  • IDEA自带的Database连接达梦数据库

    达梦数据库无法使用Navicat,只能使用自带的数据库管理工具,但是非常难用,所以想使用IDEA自带的Database连接达梦数据库。 首先下载达梦jdbc驱动包 选择Driver 确定达梦驱动 从datasource选择达梦数据库 填写数据源信息 上面的URL就是jdbc连接的url。 点击测试连接 成功,即可连接

    2024年02月13日
    浏览(46)
  • 开发 | JAVA连接达梦数据库(DM8)

    本文参考文献 https://eco.dameng.com/docs/zh-cn/start/java-development.html https://eco.dameng.com/docs/zh-cn/app-dev/index.html 本文通过以下方式实现Java程序与DM8数据库的交互 使用JDBC接口(不用框架,最简单) 使用MyBatis框架 使用Spring框架 使用SpringBoot Jdbc 框架 Java的软件开发工具包(SDK) JDK(Ja

    2024年02月07日
    浏览(67)
  • 往docker中cloudbeaver的容器添加达梦数据库、impala数据库连接支持(cloudbeaver添加自定义数据连接)

    cloudbeaver默认没有开放impala连接,更不会支持国产数据库了 docker安装运行cloudbeaver可以参考文章:docker安装运行CloudBeaver并设置默认语言为中文 本文跳过cloudbeaver镜像拉取,直接就开始实现自定义数据库连接功能 1.1、新建挂载的宿主机根目录 挂载的文件都放置该目录下 1.2、运

    2024年01月19日
    浏览(76)
  • Mac 链接达梦数据库 & DmJdbcDriver18.jar下载

    JAR下载 百度了好久没有找到 达梦的 jar 下载, 官网藏的也太隐蔽了. 达梦文档 下载后是 18 版本的 Mac 链接达梦数据库 需要用到 DBeaver 这里下载 dbeaver 官网 官网首页点击 Download 跳转到下载页面 选择对应系统版本下载安装 安装后打开 依次在 菜单栏 选择 数据库 - 驱动管理器

    2024年02月06日
    浏览(60)
  • windows下安装达梦数据库~客户端以及常用操作

    一、达梦数据库安装 1. 软件下载 到达梦数据库官网下载DM8开发版本, 下载地址:https://www.dameng.com/list_103.html windows 演示 2. 解压 dm8_20230106_x86_win_64.zip 双击dm8_20230106_x86_win_64.iso 3. 安装 双击setup.exe开始安装,选择简体中文,时区选择中国标准时间 双击setup.exe或者setup.bat 4. 点击

    2024年02月05日
    浏览(94)
  • JPA连接达梦数据库导致auto-ddl失效问题解决

      现象:         项目使用了JPA,并且auto-ddl设置的为update,在连接达梦数据库的时候,第一次启动没有问题,但是后面重启就会报错,发现错误为重复建表,也就是说已经建好的表没有检测到,又重新走的建表流程。经过一天的排查,总结了2个解决方案。  问题的根源:

    2024年02月15日
    浏览(57)
  • qt连接tcp通信和连接数据库

    通过数据库实现学生管理系统 widget.cpp widget.h    tcp服务器 tcp客户端

    2024年02月10日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包