本章节主要介绍O2OA支持的各种不同的数据库的连接配置信息,供开发者参考。

平台默认内置H2数据,在正式环境中建议使用外部数据库.

外部数据库通过config/externalDataSources.json配置实现.

H2

H2为内置数据库,不需要进行配置.
在node.json配置的data中进行配置.

"data": {
    "enable": true,
    "tcpPort": 20050.0,
    "webPort": 20051.0,
    "includes": [],
    "excludes": [],
    "jmxEnable": false,
    "cacheSize": 512.0,
    "logLevel": "WARN"
  }



参数说明:
enable:是否启用,如果没有可用的externalDataSources.json文件,那么默认会在节点中启用本地的H2数据库作为默认的数据库.

tcpPort:H2数据库jdbc连接端口,登录的用户名:sa,密码为xadmin的密码.数据库创建
在/o2server/local/repository/data/X.mv.db,一旦数据库文件被创建,那么该数据库的密码被创建.

webPort:H2数据库web端口,H2提供一个web端的client,此端口为web端client的访问端口.用户名sa,密码为xadmin数据库初始创建的密码.

includes:设置此数据库存储的类,默认情况下存储所有类型,如果需要对每个类进行单独的控制以达到高性能,可以将不同的类存储到不同的节点上提高性能.可以使用通配符.

excludes:在此节点上不存储的类,和includes一起设置实际存储的类,可以使用通配符.

jmxEnable:是否启动jmx,如果启用,可以通过本地的jmx客户端进行访问,不支持远程jmx客户端.

cacheSize:H2数据库缓存大小,设置H2用于作为缓存的内存大小,以M作为单位,这里默认为512M.

logLevel:默认日志级别

Mysql

支持MySQL5.7以上版本,建议使用MySQL8

1、数据库字符集请使用:**utf8mb4
2、修改参数**max_allowed_packet

set global max_allowed_packet = 1024*1024*1000


数据库连接字符串:

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

Oracle

仅支持Oracle12c R2以上版本,不支持Oracle12.2以下版本(表名要支持30个以上的字符长度)**

**

[
    {
        "url":"jdbc:oracle:thin:@//127.0.0.1:1521/orcl",
        "username" : "X",
        "password" :"password",
        "includes": [],
        "excludes": [],
        "enable" : true
    }
]

DB2

支持DB2v10以上版本.

[
    {
        "url" : "jdbc:db2://127.0.0.1:50000/X",
        "username" : "db2admin",
        "password" :"password",
        "includes": [],
        "excludes": [],
        "enable" : true
    }
]

DB2默认对查询长度有限制,查询的长度不能超过字段长度.由于数据会引起一下错误:

Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: DB2 SQL Error: SQLCODE=-302, SQLSTATE=22001
在这样的情况下可以通过设置以下参数解决:
DB2_DEFERRED_PREPARE_SEMANTICS=YES

SQLServer

支持SQL Server 2017 以上版本

**

[
    {
        "url" : "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=X;selectMethod=cursor;sendStringParametersAsUnicode=false",
        "username" : "sa",
        "password" :"password",
        "includes": [],
        "excludes": [],
        "enable" : true
    }
]

PostgreSQL

[
    {
        "url" : "jdbc:postgresql://localhost:5432/X",
        "username" : "postgres",
        "password" :"password",
        "includes": [],
        "excludes": [],
        "enable" : true
    }
]

Informix

[
    {
        "url" : "jdbc:informix-sqli://123.45.67.89:1533/X:INFORMIXSERVER=informixServer",
        "username" : "admin",
        "password" :"password",
        "includes": [],
        "excludes": [],
        "enable" : true
    }
]

达梦数据库

[
    {
        "url" : "jdbc:dm://127.0.0.1/X",
        "username" : "admin",
        "password" :"password",
        "includes": [],
        "excludes": [],
        "enable" : true
    }
]

人大金仓数据库

人大金仓数据库支持V7和V8两个版本,但两个版本的jdbc驱动不同.

V7

[
    {
        "url" : "jdbc:kingbase://127.0.0.1:54321/X",
        "username" : "system",
        "password" :"krms",
        "includes": [],
        "excludes": [],
        "enable" : true
    }
]

V8

[
    {
        "url" : "jdbc:kingbase8://127.0.0.1:54321/X",
        "username" : "system",
        "password" :"krms",
        "includes": [],
        "excludes": [],
        "enable" : true
    }
]


results matching ""

    No results matching ""