Ray 发表于 2018-8-7 11:33:50

使用外部数据库存储数据.

O2平台使用H2数据库作为自带数据库.可以支持小型应用环境.
对于大型应用环境建议使用外部数据,步骤如下:
在 node_xxx.json中先禁用内建数据库
没有这个文件的情况下使用默认配置,可以从sample中拷贝一个node_127.0.0.1.json到config目录
模版路径o2server/config/sample/node_127.0.0.1.json
存放路径o2server/config/node_127.0.0.1.json
{
"enable": true,
"port":null,
"sslEnable":false,
"logLevel":"warn",
"isPrimaryCenter": true,
"application": {
    "enable": true,
    "port": null,
    "sslEnable": false,
    "proxyHost": "",
    "proxyPort": null,
    "forceRedeploy": true,
    "scanInterval":5,
    "includes":[],
    "excludes":[]
},
"web": {
    "enable": true,
    "port": null,
    "sslEnable": false,
    "proxyHost": "",
    "proxyPort": null,
    "forceRedeploy": true
},
"storage": {
    "enable": true,
    "port": null,
    "sslEnable": false,
    "name" : ""
},
"data": {
    "enable": false,
    "tcpPort": null,
    "webPort": null,
    "includes": [],
    "excludes": []
}
}
然后在o2server/config目录下创建externalDataSources.json
模版位置: o2server/config/sample/externalDataSources.json
配置样例如下
[
    {
      "url" : "jdbc:db2://127.0.0.1:50000/X01",
      "username" : "db2admin",
      "password" :"xxxxxxxx",
      "includes": [],
      "excludes": [],
      "enable" : true
    }
]
配置您使用的数据库,如果您有多个数据库,配置如下:
[
    {
      "url" : "jdbc:db2://192.168.1.1:50000/X01",
      "username" : "db2admin",
      "password" :"xxxxxxxx",
      "includes": [],
      "excludes": [],
      "enable" : true
      
    },
    {
      "url" : "jdbc:db2://192.168.1.2:50000/X02",
      "username" : "db2admin",
      "password" :"password",
      "includes": [],
      "excludes": [],
      "enable" : true
      
    }
]
系统将自动采用数据库切片(slice)进行分布数据存储,以提高性能.
如果采用分布存储需要满足一下条件,多个数据库实例间同类型,不能混用比如oracle,mysql,多个数据库实例的用户名密码必须一致.
系统支持以下数据库:mysql,postgresql,db2,oracle,informix,derby,国产toprdb,国产达梦.

lidalong 发表于 2019-8-26 13:53:33

我使用的是最新版本 window 程序

论坛管理员 发表于 2019-9-23 10:14:39

是不是 externalDataSource.json 文件中 enable您写的false?
从提示上看,系统没有配置任何可用的数据库,node_127.0.0.1.json里的data设置为禁用了, externalDataSource.json 里也没有启用,所以导致系统无法找到可用的数据库,报错:dataServer not enable

zhaojq 发表于 2019-4-17 23:12:05

如果不用h2,会初始化数据库吗?

论坛管理员 发表于 2019-8-26 17:24:03

驱动是已经有了,你从数据库角度或者配置角度再去查询一下!ps 你不会用很久以前的的吧,,,现在用的驱动是MSSQL,SQLServer2012以上才能用

论坛管理员 发表于 2019-4-22 13:56:10

数据库不会自动创建,但是数据表会自动创建的,您需要先创建一个数据库,在数据库连接信息中是需要知道数据库名称的。

lidalong 发表于 2019-8-26 13:52:10

我禁用了内置的H2 数据库,拷贝了一个externalDataSources_sqlserver.json 模版到confi 目录并重命名为:externalDataSources.json
修改externalDataSource.json 中的url,username 和password。=
启动 start data 系统显示下面的错误。 是不是缺少sqlserver 数据库驱动原因造成的呢?
http://www.o2oa.net:20020/x_file_assemble_control/jaxrs/file/bb13e602-e577-40cc-8a39-e9a8643d90f2/download/stream
页: [1]
查看完整版本: 使用外部数据库存储数据.