开源OA:手把手教你搭建OA办公系统(18)系统上线之配置外部数据库Mysql

news/2024/7/9 21:56:49 标签: 数据库, postgresql, microsoft

我们已经完成了业务的开发工作.在开发过程中使用的是:O2OA平台的内置数据库,假设开发完成后,我们需要发布到生产系统,那么建议使用外部的数据库,如果用户很多,需要保障系统的高可用性,就需要考虑集群环境。

所以这节课,我们的目标内容是:如何将开发好的系统迁移到生产系统

那么接下来要做以下三件事情:

1.配置外部数据库

2.配置集群环境

3.开发机的数据迁移

注意:一开始配置的外部数据库是空的,所有的开发机的业务数据是在本地的H2数据库中,做第三步,才能将开发机数据导入到生产机中

数据库支持

我们先介绍一下,O2OA默认的是内置的H2数据库,H2数据库是一个开源的纯Java关系数据库.

默认情况下启动时将启动一个H2数据库服务作为数据源,实际数据存储位置。

o2server/local/repository/data/X.mv.db

下面这个表H2数据库和其他数据库的一个对比:

那么它的特点是轻量,纯Java,可嵌入,支持标准JDBC访问.

在正式生产环境中, 建议使用MySQL,PostgreSQL,Oracle等主流的数据库产品.

O2OA底层,是通过openjpa,实现Java对象到数据库的读写的.

下面这个地址是openjpa默认支持的数据库

4.  Database Support

O2OA通过openjpa默认支持以下数据库:

Database Name

Database Version

JDBC Driver Name

JDBC Driver Version

Apache Derby

10.1.2.1

Apache Derby Embedded JDBC Driver

10.1.2.1

Borland Interbase

7.1.0.202

Interclient

4.5.1

Borland JDataStore

6.0

Borland JDataStore

6.0

DB2

8.1

IBM DB2 JDBC Universal Driver

1.0.581

Empress

8.62

Empress Category 2 JDBC Driver

8.62

Firebird

1.5

JayBird JCA/JDBC driver

1.0.1

H2 Database Engine

1.0

H2

1.0

Hypersonic Database Engine

1.8.0

Hypersonic

1.8.0

Informix Dynamic Server

9.30.UC10

Informix JDBC driver

2.21.JC2

InterSystems Cache

5.0

Cache JDBC Driver

5.0

Microsoft Access

9.0 (a.k.a. "2000")

DataDirect SequeLink

5.4.0038

Microsoft SQL Server

9.00.1399 (SQL Server 2005)

SQLServer

1.0.809.102

Microsoft Visual FoxPro

7.0

DataDirect SequeLink

5.4.0038

MySQL

3.23.43-log

MySQL Driver

3.0.14

MySQL

5.0.26

MySQL Driver

3.0.14

Oracle

8.1,9.2,10.1

Oracle JDBC driver

10.2.0.1.0

Pointbase

4.4

Pointbase JDBC driver

4.4 (4.4)

PostgreSQL

7.2.1

PostgreSQL Native Driver

8.1

PostgreSQL

8.1.5

PostgreSQL Native Driver

8.1

Sybase Adaptive Server Enterprise

12.5

jConnect

5.5 (5.5)

主流数据库是已经支持的,同时我们也支持一些国产数据库.

国产数据库支持

对与国产数据库的支持是对不同的数据库编写不同的适配方言来实现的.

也就是通过定制 DBDictionary来实现对接.

目前我们已经适配的国产数据库是:

数据库

方言

达梦

com.x.base.core.openjpa.jdbc.sql.DMDictionary

南大通用8s

com.x.base.core.openjpa.jdbc.sql.GBaseDictionary

南大通用华库(mysql5)

com.x.base.core.openjpa.jdbc.sql.GBaseMySQL5Dictionary

南大通用华库(mysql8)

com.x.base.core.openjpa.jdbc.sql.GBaseMySQLDictionary

人大金仓V7

com.x.base.core.openjpa.jdbc.sql.KingbaseDictionary

人大金仓V8

com.x.base.core.openjpa.jdbc.sql.Kingbase8Dictionary

人大金仓V8R6

com.x.base.core.openjpa.jdbc.sql.Kingbase8R6Dictionary

神通数据库

com.x.base.core.openjpa.jdbc.sql.OscarDictionary

各种PostgreSQL改造版本

org.apache.openjpa.jdbc.sql.PostgresDictionary

数据库配置步骤

配置步骤大体是一样的,主要是配置externalDataSources.json文件.

我们在o2server服务器目录下的configSample目录中已经创建了各个数据库连接的样例配置文件.

(打开看一下)

我们把externalDataSources_mysql.json配置文件复制到config目录下,去掉下划线后面的部分。

系统会到config目录下读取配置文件,如果没有配置文件,平台读取默认值。

MySQL配置步骤

下面我们就MySQL数据库连接配置进行操作.(打开数据库连接工具)

我们事先已经安装完成一个空的MySQL ,版本是MySQL 8.0.27,地址:traindb.o2oa.net

在安装好的MySQL中创建一个数据库,

数据库任意,譬如:X

设置数据库字符集为:utf8mb4

排序规则:选择utf8mb4_0900_ai_ci

我们只要创建一个数据库就可以了,表,索引会自动创建。

(去本地电脑o2server上操作)

在o2server/config目录下,修改配置externalDataSources.json

[
  {
    "url":"jdbc:mysql://traindb.o2oa.net:3306/X?autoReconnect=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8",      
    "username" : "root",
    "password" :"1234abcd",
    "includes": [],
    "excludes": [],
    "enable" : true
  }
]

1.修改其中的url , username , password字段.

2.重启服务器完成MySQL配置.

3.打开控制台看

从控制台看到默认的H2数据库还是启动了,原因是我们没有把默认的数据库给关闭掉,如果说希望服务器减少这样的资源开销,那么我们需要去修改一下配置文件,关闭掉H2数据库的使用。在哪里改?

先去config目录里 找一下node_127.0.0.json,如果有直接改参数,如果没有,configSample目录拷贝一个,

node_127.0.0.json,然后编辑文件,去找到data,把enable改成false。

验证数据库配置

登陆服务器http://live.o2oa.net

使用o2oa管理员登陆

点击左上角菜单->组织管理

新建用户

保存人员信息后,我们打开数据库可以看到数据已经存储到MySQL数据库中了.

人员信息存储表:"ORG_PERSON" 查看“数据”书签

验证完成.

配置文件详解

完成了验证了之后,我们回过来再来解释一下,

数据库连接的,配置文件里面的相关参数.(打开ppt第8页)

enable:是否启用.
url:jdbc连接地址.
username:数据库jdbc连接用户名.
password:数据库jdbc连接密码.
driverClassName:数据库驱动类名
dictionary:方言,我们国产数据库的支持就是通过编写不同的方言来实现的。
maxTotal:最大使用连接数,默认是50,系统的量很大的话,可以设置大一些。
maxIdle:最大空闲连接数
statEnable:启用统计,默认启用,我们使用的是德鲁伊的统计,可以对数据库和sql进行监控,有些国产数据库的语法树他是无法分析到的,所以需要关闭这个选项。
statFilter:统计方式配置,默认mergeStat
slowSqlMillis:执行缓慢sql毫秒数,默认2000毫秒,执行缓慢的sql将被单独记录.
includes:设置此数据库存储的类,默认情况下存储所有类型,如果需要对每个类进行单独的控制以达到高性能,可以将不同的类存储到不同的节点上提高性能.可以使用通配符*
excludes:在此节点上不存储的类,和includes一起设置实际存储的类,可以使用通配符*
logLevel:默认日志级别,FATAL, ERROR, WARN, INFO, TRACE. 完整的配置为DefaultLevel=WARN, Tool=TRACE, Enhance=TRACE, METADATA=TRACE, Runtime=TRACE, Query=TRACE, DataCache=TRACE, JDBC=TRACE, SQL=TRACE.
transactionIsolation:这个是数据库的事务隔离级别:我们系统默认的隔离级别是:read-uncommitted,我们系统使用队列来保持事务的一致性的,所以说一般情况下不需要提升隔离级别。其他的配置参数一般默认就好了。
testConnectionOnCheckin:测试入池连接,默认false.
testConnectionOnCheckout:测试出池连接,默认false.
maxIdleTime:空闲阈值,默认300秒.
autoCommit:自动提交,默认为false.

接着我们来看一下德鲁伊的统计功能,从哪里进去看呢

http://127.0.0.1:20030/x_program_center/

注意:这个需要管理员账户登陆

进去之后进到SQL监控,这里显示的就是所有执行过的SQL语句,每一条的sql语句的执行数和执行时间都有记录。具体就不再展开来说了。

在URI 监控页面可以看到所有接口访问的情况。


http://www.niftyadmin.cn/n/953134.html

相关文章

python爬虫导入数据库_用python进行网页爬取,数据插入数据库

用python进行网页信息的爬取还是很简单的,而且现在进行爬取的 在爬取之前,确定好自己的网页,然后用F12(查看网页源代码,然后确定网页的),这里就以一个简单的,页面布局简单的页面进行…

开源OA:手把手教你搭建OA办公系统(19)-系统上线之服务器集群设置

O2OA是一款全开源的企业信息化开发平台,作为OA系统开发平台,O2OA着力于帮助企业降低信息化系统开发成本,帮助企业提升信息化能力。本系列主要以实战形式向大家介绍使用开源OA平台搭建一套协同办公系统的实际操作过程,让大家更好地…

用开源OA项目做一个OA办公系统,能拥有哪些功能?

OA系统管理范围囊括:人事、行政、考勤、客户、沟通、审批、协作、文档资料、销售、采购、公文收发、业务集成等等,作为面向单位内部管理的软件,主要包含以下几点功能: 公告与通知 起草、审核、发布、提醒、浏览、回复、检索通知…

O2OA企业应用开发平台,全开源的协同OA项目

今天给大家介绍的是一款好用的全开源协同OA项目,它的名字叫做:O2OA企业应用开发平台(简称O2OA平台)。 O2OA平台是什么? O2OA开源企业应用开发平台基于J2EE分布式架构,集成移动办公、智能办公、支持私有化部…

python内建函数有哪些_Python学习教程之常用的内置函数大全

前言 内置函数,一般都是因为使用比较频繁或是元操作,所以通过内置函数的形式提供出来。在Python中,python给我们提供了很多已经定义好的函数,这里列出常用的内置函数,分享出来供大家参考学习,下面话不多说&…

开源办公OA开发:新版办公中心介绍

开源的企业开发平台——O2OA平台7.0版本发布了新的办公中心,整体UI风格与平台统一,在功能上也有所增强,下面我们来介绍一下新版的O2OA办公中心。 切换到新版办公中心 如果是新安装的服务器,默认就已启用了新版办公中心。如果您是…

st-link v2使用方法_怎么利用单片机等微处理器AD测量多路不共地差分信号V2

这篇文章写了很久,昨天在考虑一个单片机系统、控制器、电路板、仪器仪表开发项目中可能会用到这个设想,但是因为过了很久有点忘了,所以打算回头再看看这篇文章,不看不知道,一看吓一跳,发现当初写的这篇文章…

Java 开源开发平台 O2OA V7.1.0 发布,人力资源办公平台及手写签批上线

O2OA V7.1.0发布,新增了【人力资源办公平台】和版式公文中的【手写签批】功能。 【人力资源办公平台】是使用O2OA开发平台设计并开发的一套适合于人力资源管理的办公系统。该平台将人力资源管理的所有应用和数据集成到一个平台之上,并以统一的用户界面提…