sqlserver数据库迁移至人大金仓数据库函数SYSDATETIME()转为SYSTIMESTAMP

描述:

Sqlsever数据库中自带函数SYSDATETIME()在金仓数据库中对应的是SYSTIMESTAMP。

错误信息:

 java.sql.SQLException: [KingbaseES Server]ERROR: 函数 SYSDATETIME() 不存在 Line 1 at SQL statement

HINT: 不能根据所提供的名称和参数类型找到与之匹配的函数。你可以增加显式的类型转换。

at com.kingbase.core.QueryExecutor.processResultSetExtended(Unknown Source)

at com.kingbase.core.QueryExecutor.processResultSet(Unknown Source)

at com.kingbase.core.QueryExecutor.executePV3(Unknown Source)

at com.kingbase.core.QueryExecutor.execute(Unknown Source)

at com.kingbase.core.QueryExecutor.execute(Unknown Source)

at com.kingbase.jdbc3.AbstractJdbc3Statement.executePV3X(Unknown Source)

at com.kingbase.jdbc3.AbstractJdbc3Statement.execute(Unknown Source)

at com.kingbase.jdbc2.AbstractJdbc2Statement.execute(Unknown Source)

 

解决办法:

编写语句时使用对应的函数替换即可(红色部分是需要修改的)。

Sqlserver写法:

"INSERT INTO TBL_WORKFLOW_AGENT_LOG (id,workflowId,processDefinitionId,processInstanceId,taskDefinitionId,taskId,beagenterId,agenterId,agentDateTime,creater,createDateTime)values(NEWID(),'"+wid+"','"+rs1.getString("PROC_DEF_ID_")+"','"+rs1.getString("PROC_INST_ID_")+"','"+rs1.getString("TASK_DEF_KEY_")+"','"+rs1.getString("EXECUTION_ID_")+"','"+beAgenterId+"','"+agenterId+"',SYSDATETIME(),'',SYSDATETIME())";

改为:

"INSERT INTO TBL_WORKFLOW_AGENT_LOG(id,workflowId,processDefinitionId,processInstanceId,taskDefinitionId,taskId,beagenterId,agenterId,agentDateTime,creater,createDateTime)values(NEWID(),'"+wid+"','"+rs1.getString("PROC_DEF_ID_")+"','"+rs1.getString("PROC_INST_ID_")+"','"+rs1.getString("TASK_DEF_KEY_")+"','"+rs1.getString("EXECUTION_ID_")+"','"+beAgenterId+"','"+agenterId+"',SYSTIMESTAMP,'',SYSTIMESTAMP)"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值