当前位置: 首页 > news >正文

上海网站制作哪家好企业免费邮箱

上海网站制作哪家好,企业免费邮箱,运输 织梦网站模板,咸阳网站建设本示例使用的环境如下: 硬件平台:x86_64(amd64)操作系统:CentOS 7.8 2003数据库版本(含CSDK):GBase 8s V8.8 3.0.0_1 为什么使用QT 5.12.10?该版本包含QODBC。 1&#…

本示例使用的环境如下:

  • 硬件平台:x86_64(amd64)
  • 操作系统:CentOS 7.8 2003
  • 数据库版本(含CSDK):GBase 8s V8.8 3.0.0_1
    为什么使用QT 5.12.10?
  • 该版本包含QODBC。

1,GBase 8s数据库的ODBC安装与配置

1.1,确认操作系统已经安装unixODBC及unixODBC-devel

通过apt查找确认unixODBC及unixODBC-devel已经安装

[root@localhost ~]# rpm -qa unixODBC unixODBC-devel
unixODBC-devel-2.3.1-14.el7.x86_64
unixODBC-2.3.1-14.el7.x86_64

如果未安装使用apt源进行安装

[root@localhost ~]# yum -y install unixODBC unixODBC-devel

1.2,安装CSDK及配置ODBC

GBase 8s数据库的ODBC驱动程序包含在CSDK组件中。

1.2.1,安装CSDK

解压缩CSDK软件包

[root@localhost ~]# mkdir csdk
[root@localhost ~]# cd csdk/
[root@localhost csdk]# tar -xvf ../ clientsdk_3.0.0_1_93e040_RHLE6_x86_64.tar
csdk.properties
doc/
doc/Glsapi_machine_notes_4.10.txt
doc/Libcpp_machine_notes_4.10.txt
doc/ESQLC_machine_notes_4.10.txt
doc/Odbc_machine_notes_4.10.txt
installclientsdk
.gbase.properties

执行静默安装,自动完成安装

[root@localhost csdk]#  ./installclientsdk -i silent \-DUSER_INSTALL_DIR=/opt/gbase -DLICENSE_ACCEPTED=TRUE
序号参数名称示例参数值说明信息
1-isilent指定使用静默安装
2-DUSER_INSTALL_DIR=/opt/gbase指定安装目录
3-DLICENSE_ACCEPTED=TRUE指定接受协议

配置SQLHOSTS文件内容,在/opt/gbase/etc/sqlhosts配置文件中增加实际数据库地址

gbase01		onsoctcp	h01.gbasedbt.com	9088

1.2.2,ODBC配置

在/etc/profile配置文件里增加CSDK的配置环境

# /etc/profile
# Add for GBase 8s ODBC
export GBASEDBTDIR=/opt/gbase
export PATH=${GBASEDBTDIR}/bin:${PATH}
export LD_LIBRARY_PATH=$GBASEDBTDIR/lib:$GBASEDBTDIR/lib/cli:$GBASEDBTDIR/lib/esql:$LD_LIBRARY_PATH
export GBASEDBTSQLHOSTS=/opt/gbase/etc/sqlhostsexport DB_LOCALE=zh_CN.utf8
export CLIENT_LOCALE=zh_CN.utf8
export GL_USEGLU=1export ODBCINI=/etc/odbc.ini

配置/etc/odbcinst.ini配置文件,根据CSDK环境,配置如下:

; /etc/odbcinst.ini
; ODBC Driver for GBase 8s
[GBase ODBC DRIVER] 
Driver=/opt/gbase/lib/cli/iclit09b.so 
Setup=/opt/gbase/lib/cli/iclit09b.so 
APILevel=1 
ConnectFunctions=YYY 
DriverODBCVer=03.51 
FileUsage=0 
SQLLevel=1 
smProcessPerConnect=Y

配置ODBCINI配置文件,根据CSDK环境,配置如下:

[ODBC Data Sources]
testdb=GBase ODBC DRIVER
;
; Define ODBC Database Driver's Below - Driver Configuration Section
;
[testdb]
;Driver=/opt/gbase/lib/cli/iclit09b.so
Driver=GBase ODBC DRIVER
Description=GBase ODBC DRIVER
Database=testdb
LogonID=gbasedbt
pwd=GBase123
Servername=gbase01
CursorBehavior=0
CLIENT_LOCALE=zh_CN.utf8
DB_LOCALE=zh_CN.utf8
GL_USEGLU=1
TRANSLATIONDLL=/opt/gbase/lib/esql/igo4a304.so
; ISOLATIONLEVEL=1	# 使用该参数(简写:ISOLVL)设置默认的隔离级别,0-5
;
; UNICODE connection Section
;
[ODBC]
;uncomment the below line for UNICODE connection
UNICODE=UCS-2		# 如果需要使用unicode连接数据库,这里需要去除注释,值改为UCS-2
;
; Trace file Section
;
Trace=0
TraceFile=/tmp/odbctrace.out
InstallDir=/opt/gbase
TRACEDLL=idmrs09a.so

ODBC连接测试
确认当前用户环境变量中包括2)中配置的环境变量,3)已经完成。通过isql测试ODBC配置正确。

[root@localhost ~]# env | egrep '(GBASEDBT|ODBCINI)'
GBASEDBTSERVER=gbase01
ODBCINI=/etc/odbc.ini
GBASEDBTDIR=/opt/gbase
root@netsky:~# isql -v testdb
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> select dbservername from dual;
+---------------------------------------+
|                                       |
+---------------------------------------+
| gbase01                               |
+---------------------------------------+
SQLRowCount returns -1
1 rows fetched
>
root@netsky:~# iusql -v testdb
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> select dbservername from dual;
+---------------------------------------+
|                                       |
+---------------------------------------+
| gbase01                               |
+---------------------------------------+
SQLRowCount returns -1
1 rows fetched

2,QT在Linux(CentOS)的安装与配置

2.1,确认操作系统已经安装gcc和g++

通过apt查找确认gcc、g++、clang已经安装

[root@localhost ~]# rpm -qa gcc libgcc gcc-c++ clang clang-devel
clang-devel-3.4.2-8.el7.x86_64
gcc-4.8.5-44.el7.x86_64
clang-3.4.2-8.el7.x86_64
gcc-c++-4.8.5-44.el7.x86_64
libgcc-4.8.5-44.el7.x86_64

如果未安装使用apt源进行安装

[root@localhost ~]# yum -y install gcc libgcc gcc-c++ clang clang-devel

2.2,安装QT

这里使用5.12.12版本(安装包名称为qt-opensource-linux-x64-5.12.12.run),需要使用到图形化界面
配置环境变量.bash_profile

# .bash_profile
export QTPATH=/opt/Qt5.12.12
export PATH=${QTPATH}/5.12.12/gcc_64/bin:${QTPATH}/Tools/QtCreator/bin:$PATH

执行安装

[root@localhost ~]# ./qt-opensource-linux-x64-5.12.12.run
[2] Warning: Qt Account settings file [/root/.local/share/Qt/qtaccount.ini] does not exist.
[2] Warning: Could not find Qt Account.

开始安装,要求有Qt的账号,如果没有账号需要注册(如果想跳过该步,需要断网)
image001.png
接受协议
image002.png
指定安装目录
image003.png
选择安装组件,Qt 5.12.12中仅选择Desktop gcc 64-bit
image004.png
安装过程
image005.png
完成安装
image006.png
在 帮助->关于插件中,关闭ClangCodeModel,该操作需要重启才生效
image007.png

2.3,确认或编译QODBC驱动

查看Qt安装目录下的/opt/Qt5.12.12/5.12.12/gcc_64/plugins/sqldrivers

[root@localhost sqldrivers]# pwd
/opt/Qt5.12.12/5.12.12/gcc_64/plugins/sqldrivers
[root@localhost sqldrivers]# ls -al *odbc.so
-rwxr-xr-x. 1 root root 119352 11月 17 2021 libqsqlodbc.so

3,QT创建项目通过ODBC连接到GBase 8s数据库

创建新项目
创建Console Application
image008.png
名称为QtOdbcGBasedbt
image009.png
使用qmake
image010.png
image011.png

使用Desktop Qt 5.12.12 GCC 64bit
image012.png
image013.png

在QtOdbcGBasedbt.pro中增加一行QT += sql
image014.png
在main.cpp中写入代码
image015.png
main.cpp的详细代码

#include <QCoreApplication>
#include <QtSql>
#include <QSqlDatabase>int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");// 使用DSN方式db.setDatabaseName("testdb");       //DSN名称// 使用DSN-Less连接方式//db.setDatabaseName("DRIVER=/opt/gbase/lib/cli/iclit09b.so;HOST=h01.gbasedbt.com;SERV=9088;PROT=onsoctcp;DLOC=zh_CN.57372;CLOC=zh_CN.57372;DB=testdb;SRVR=gbase01");db.setUserName("gbasedbt");         //用户名db.setPassword("GBase123$%");       //密码bool ok = db.open();//建立数据库连接if(!ok){qDebug()<<"Can not connect to GBase 8s Database !";return -1;}qDebug()<<"Connect to GBase 8s Database OK .";QSqlQuery query(db);query.prepare("drop table if exists tab1");bool drop = query.exec();if (!drop){qDebug()<<"drop table error !";}qDebug()<<"drop table tab1 success .";query.prepare("create table tab1 (id varchar(255), ts datetime year to second default current year to second)");bool create = query.exec();if (!create){qDebug()<<"create table tab1 error !";}qDebug()<<"create table tab1 success .";query.prepare("insert into tab1(id) values('test001')");bool insert = query.exec();if (!insert){qDebug()<<"insert table tab1 error !";}qDebug()<<"insert table tab1 success .";query.prepare("select * from tab1 where id = :id");query.bindValue(":id","test001");bool select = query.exec();if (!select){qDebug()<<"select table tab1 error !";}QSqlRecord rec = query.record();while(query.next()){rec = query.record();QString value1 = query.value(0).toString();QString value2 = query.value(1).toString();qDebug()<<"id:"<<value1<<"\t"<<"ts:"<<value2;}db.close();return ok;
}

执行debug编译
image016.png

附件:
QtOdbcGBasedbt.zip

http://www.yayakq.cn/news/118588/

相关文章:

  • 良乡网站建设织梦网站建设选项卡教程
  • 哈尔滨制作网站工作室门户网站建设评标办法
  • 企业网站设计总结创建一个网站买卖
  • 建站新体验关于珠海网站建设的优势
  • 如何建立一个网站并运行类似于小红书的绍兴网站建设公司
  • 互联网产品设计网站论坛源码
  • 一级a做爰片免费网站 视频大连项目备案网站
  • 电影网站建设方案ppt模板下载wordpress商品属性选择
  • 免费微商城小程序seo挖关键词
  • 南昌网站维护路南网站建设
  • 网站备案不关站wordpress 停用插件
  • 网站跨平台揭阳网站制作教程
  • js做论坛网站网上怎么开网店创业
  • 做网页网站小企业网站源码
  • 美食烹饪网站策划书网站空间位置是什么
  • 网站备案最快小程序商城多少钱一年
  • asp.net 个人网站如何建网站不花钱
  • 太原规划网站常州天宁建设局网站
  • 做wap网站能火吗泉州专业网站设计技术公司
  • 专业做网站优化需要多久营业推广策略有哪些
  • 网站后台登陆地址自己可以做网站么
  • 做任务送科比网站sem竞价托管费用
  • 常见cms网站源码下载网站建设asp编程
  • 那些网站可以做信息推广知名网站网页设计特色
  • 官方网站平台有哪些阳泉建设公司网站
  • 建好了网站怎么做外贸门户网站的优缺点
  • 东莞网站公司网站建设 深圳 凡科
  • wordpress 邮件收发上海关键词排名优化怎样
  • 永久域名最新网站电子商务行业网站有哪些
  • 国外做西餐的网站佛山做网站哪家公司好