脚本宝典收集整理的这篇文章主要介绍了通过Qt连接OpenGauss数据库的详细教程,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
在openGauss所在的root环境下执行下列步骤
在GS_HOME中查找pg_hba.conf文件,本实验中数据库GS_HOME设置的为/gauSSDb/data/db1,实际操作中GS_HOME地址可以查看安装时的配置文件:< PARam name=“dataNode1” value="/gaussdb/data/db1" />。
cd /gaussdb/data/db1 vi pg_hba.conf
输入“:90”找到对应位置,然后输入“i”切换到INSERT模式,将“host all all 192.168.0.132/32 trust”修改为“host all all 192.168.0.132/32 sha256”。
将以下内容添加进pg_hba.conf文件,完成后按下“Esc”键,退出INSERT模式,输入“:wq”后回车保存。
# ipv4 local connections: host all all 127.0.0.1/32 trust host all all 192.168.0.19/32 sha256 host all all 0.0.0.0/0 sha256 # IPv6 local connections: host all all ::1/128 trust
使用Omm@R_780_2126@,使用gs_ctl将策略生效。
su - omm gs_ctl reload -D /gaussdb/data/db1/
返回结果为:
[2020-07-23 15:39:55.398][71828][][gs_ctl]: gs_ctl reload ,datadir is -D "/gaussdb/data/db1"
server signaled
注:如果之前没有启动过数据库,返回结果如下,继续操作即可:
[2021-04-27 17:02:59.640][15354][][gs_ctl]: gs_ctl reload ,datadir is /gaussdb/data/db1
[2021-04-27 17:02:59.640][15354][][gs_ctl]: PID file "/gaussdb/data/db1/postmaster.pid" does not exist
[2021-04-27 17:02:59.640][15354][][gs_ctl]: Is server running?
在GS_HOME中,本实验中数据库GS_HOME设置的为/gaussdb/data/db1。
cd /gaussdb/data/db1 vi postgresql.conf
输入“:60”找到对应位置,然后输入“i”切换到INSERT模式,将listen_addresses的值修改成为*,修改后按下“Esc”键,退出INSERT模式,输入“:wq”后回车保存。
#listen_addresses = '192.168.0.19' # what IP address(es) to listen on; listen_addresses = '*'
修改完成后重启数据库生效(-D后面的数据库默认路径,需要根据实际情况进行修改)。
gs_ctl restart -D /gaussdb/data/db1/
Windows操作系统自带ODBC数据源管理器,无需用户手动安装管理器便可直接进行配置。
下载地址:GaussDB驱动程序
在本地(例如D:/download)下载zip文件后进行解压缩,解压缩后文件如下。
由于本实验openGauss安装在ECS(openEuler ARM)上,所以进入Euler2.8_arm_64文件夹,显示如下:
解压缩GaussDB-Kernel-V500R001C10-Windows-Odbc.tar.gz文件,显示如下:
点击psqlodbc_x86.msi进行安装:
默认设置,直到安装完毕。
在配置数据源时,请使用对应的驱动管理器(假设操作系统安装盘符为c盘,如果是其他盘符,请对路径做相应修改):
64位操作系统上进行64位程序开发,安装64位驱动程序后,使用64位的驱动管理器:C:\Windows\System32\odbCAD32.exe 或者直接使用“控制面板 > 管理工具 > ODBC 数据源(64 位)。
在打开的驱动管理器上,选择“用户DSN > 添加 > PostgreSQL Unicode(x64)”,然后进行配置:
Data Source:openGauss (数据源名称,可以自定义)。
Database:postgres (需要连接的Datebase名称)。
Server:openGauss数据库服务器的公网IP,请根据实际情况填写。
Pot:26000 (端口号)。
User Name:dbuser (连接数据库的用户名,不能使用omm用户,需要在数据库中创建)
Password:dbuser用户的密码,请根据实际情况填写。
点击test,显示 Connection successful 表示设置成功:
点击保存:
配置成功!
下载好 qt-opensource-windows-x86-5.14.2.exe后,无脑next就行。但有一点需要注意。打勾的必须选上!打勾的必须选上!打勾的必须选上!
不会创建的童鞋可以参考qt创建工程教程。
注意!KIT必须选64bit的
为了使用sql,还必须在xxx.PRo
下面添加:
QT += sql
接下来就可以愉快的测试了!
修改main.cpp
文件,代码如下:
#include "gsql.h" #include <QSqlDatabase> #include <QStringList> #include <QDebug> #include <QMessageBox> #include <QtSql> #include <QSqlQuery> #include <QApplication> #include <iostream> using namespace std; int main(int argc, char *argv[]) { QApplication a(argc, argv); gsql w; w.show(); QSqlDatabase db = QSqlDatabase::addDatabase("QODBC"); QString dsn = QString::FromLocal8Bit("xxxx");//你在2.3中配置的Data Source,例如openGauss qDebug()<<"ODBC connect?"<<db.isValid(); db.setHostName("xxxx.xxxx.xxxx.xxxx");//你的IP地址 db.setDatabaseName(dsn); db.setUserName("xxx"); //用户名 db.setPassword("xxxx");//密码 db.setPort(26000); //opengauss端口号为26000 if(!db.open()) { qDebug()<<db.lastError().text(); QMessageBox::critical(0, QObject::tr("Database error"), db.lastError().text()); return; } else qDebug()<<"database open success!"; return a.exec(); }
显示结果如下,就说明连接成功。否则,会弹出报错提示。
如果不成功,可能的原因:
以上就是通过Qt连接OpenGauss数据库的详细教程的详细内容,更多关于Qt连接OpenGauss数据库的资料请关注脚本宝典其它相关文章!
以上是脚本宝典为你收集整理的通过Qt连接OpenGauss数据库的详细教程全部内容,希望文章能够帮你解决通过Qt连接OpenGauss数据库的详细教程所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。