O2OA(翱途)作爲一款企業級應用平臺,其支持多種數據庫系統是其靈活性和可擴展性的重要體現。從MySQL、Oracle到國產的達夢、神州等數據庫,再到對PostgreSQL的原生支持,O2OA展現了其對不同數據庫環境的良好適應性。特別地,當涉及到PostgreSQL的變種或國產版本時,如GaussDB(高斯)、PanweiDB(磐維)、HighGoDB(瀚高)等,O2OA同樣能夠順利接入並運行。
版本要求
磐維數據庫 panweidbv1.0.0
以下實踐在O2OA(翱途)v9.0.4 版本上操作.
數據庫安裝
安裝過程略,如果數據庫服務器與O2OA(翱途)服務器不在同一臺主機上那麼需要設置允許遠程鏈接. 對照對於postgres數據庫需要注意以下幾點:
postgres.conf 配置
shared_buffers = 1GB
務必將shared_buffers設置爲服務器可承受的較大值.在較小值的情況下會導致io繁忙.
listen_addresses = 'localhost,192.168.1.1'
數據庫監聽的地址.多值使用',',全部可以設置爲 listen_addresses = '*'
password_encryption_type = 2 #Password storage type, 0 is md5 for PG, 1 is sha256 + md5, 2 is sha256 only
密碼加密的方式,這個需要與pg_hba.conf 中的匹配.
pg_hba.conf 配置
host all all 0.0.0.0/0 sha256
這裏最後的sha256表示密碼的加密方式,需要與前面的 password_encryption_type 向對應. 0.0.0.0/0 表示監聽所有地址. ipv6 爲 ::0/0
用戶設置
默認一般postgresql會禁止數據庫初始用戶登陸.
這樣的情況下我們可以通過cli命令行登陸創建一個管理用戶
su - omm
gsql -d postgres -p 5432
切換到數據庫用戶並登陸到數據庫
CREATE ROLE admin WITH SYSADMIN PASSWORD '1234@abcd';alter role admin with login;
創建admin用戶設置爲sysadmin,並允許登陸.
o2server 使用驅動
-
如果是改動過jdbc驅動的數據庫版本,那麼需要將數據庫的jdbc驅動jar拷貝到o2server/custom/jars目錄下.
-
如果是沒有改動過的postgres版本則不需要拷貝jdbc驅動jar
-
如果是類似gauss數據庫使用較爲老的版本的postgres驅動,那麼首先需要將驅動拷貝到o2server/custom/jars目錄下,同時需要刪除o2server/commons/ext_java11/postgresql-*.jar,避免jar包衝突.
-
如果將驅動jar直接複製到o2server/store/jars下,服務器啓動時會檢查jars下的文件,會將文件刪除.
o2server 配置
設置o2server/config/externalDataSources.json
[{
"url":"jdbc:panweidb://192.168.1.1:5432/postgres",
"username" : "admin",
"password" :"1234abcd",
"schema" : "public",
"includes": [],
"excludes": [],
"enable" : true,
"driverClassName" : "org.panweidb.Driver",
"dictionary" : "postgres"}]
設置
-
url:爲數據庫訪問jdbc
-
driverClassName : 爲指定的驅動類,如果未發佈數據庫驅動那麼應該爲"org.postgresql.Driver"
-
schema : 數據庫schema,如果未手工創建默認可以使用public
-
dictionary : postgres 強制使用postgres方言,(關鍵步驟)
啓動服務器
正常啓動服務器.
至此完成數據庫的接入.各種其他postgres分支數據庫配置相同.