连人大金仓数据库问题 返回
语句iscritical = SqlFunc.IsNull(e.IsCritical, d.IsImminentDanger),生成的SQL是 NVL("E"."IS_CRITICAL","D"."IS_IMMINENT_DANGER") AS "iscritical",但是人大金仓没这个方法。

代码中很多地方使用了 x.IsDelete==false,转成SQL变成了 is_delete=0,数据库是pg模式,字段是bool类型,不支持is_delete=0,只支持is_delete=false
感觉识别模式错误了,识别为oracle模式了,SqlFunc.GetDate() 生成了sysdate 方法,也是不存在
热忱回答(5)
-
fate sta VIP0
2025/8/30你代码设置模式了吗
0 回复 -
fate sta VIP0
2025/8/30金仓有四种模式,代码也要设置查应的
0 回复 -
fate sta VIP0
2025/8/30你确定DbType是人大金仓吗,目前生成的SQL都不是人大金仓的
0 回复 -
GQ VIP0
2025/8/31是的,但是我发现设置为数据库类型为pg后一切正常。
0 回复 -
D VIP0
2025/8/31如何配置人大金仓的数据库链接呢?
如下配置无法连接数据库, DbType:PostgreSQL 依然不行。
"DbConnection": {
"ConnectionConfigs": [
{
"DbType": "Kdbndp", // MySql、SqlServer、Sqlite、Oracle、PostgreSQL、Dm、Kdbndp、Oscar、MySqlConnector、Access、OpenGauss、QuestDB、HG、ClickHouse、GBase、Odbc、Custom
"ConnectionString": "Server=localhost;Port=4321;User Id=kingbase;Password=Password123;Database=test;", // 库连接字符串
"EnableInitDb": true, // 启用库表初始化
"EnableDiffLog": true, // 启用库表差异日志
"EnableUnderLine": true // 启用驼峰转下划线
}
]
}
0 回复