在向数据库插入数据时获得无效的列类型



我使用数据库连接器在Mule-4数据库中插入数据,插入查询语句看起来像这样。我已经测试过很多次了。下面是用于插入数据

的SQL查询
INSERT INTO TABLE
(
GUID, 
TIME_GENERATED_ON, 
ENVELOPE_ID,
SUBJECT, 
USER_NAME,
EMAIL, STATUS, 
CREATED_ON, VOID_ON, DECLINED_ON, SENT_ON, DELIVERED_ON, 
AC_STATUS, AC_STATUS_DATE, AC_HOLDER,
AC_HOLDER_EMAIL, AC_HOLDER_LOCATION, SIGNING_LOCATION, SENDER_IP_ADDRESS,
ENVELOPE_ID_STAMPING, AUTHORITATIVE_COPY, RAW_XML_DATA,WORK_OUI,UPI
)
VALUES
(
:guid, 
TO_TIMESTAMP(:timeGenerated, 'YYYY-MM-DD"T"HH24:MI:SS.ff'),
:EnvelopeID, :Subject, :UserName,
:Email, 
:Status, 
TO_TIMESTAMP (:Created, 'YYYY-MM-DD"T"HH24:MI:SS.ff'),
TO_TIMESTAMP (:Void, 'YYYY-MM-DD"T"HH24:MI:SS.ff'),
TO_TIMESTAMP (:Declined, 'YYYY-MM-DD"T"HH24:MI:SS.ff'),
TO_TIMESTAMP (:Sent, 'YYYY-MM-DD"T"HH24:MI:SS.ff'),
TO_TIMESTAMP (:Delivered, 'YYYY-MM-DD"T"HH24:MI:SS.ff'),
:ACStatus,
TO_TIMESTAMP (:ACStatusDate, 'YYYY-MM-DD"T"HH24:MI:SS.ff'),
:ACHolder,
:ACHolderEmail, :ACHolderLocation, :SigningLocation, :SenderIPAddress,
:EnvelopeIdStamping, :AuthoritativeCopy, :originalPayload,  :WorkOui, :upi
)

输入参数如下所示。我正在动态地提供它。

{
guid:payload.Guid,
timeGenerated   :payload.TimeGenerated,
EnvelopeID:payload.EnvelopeID,
Subject: payload.Subject,
UserName   : payload.UserName,
Email:payload.Eamil,
Status:payload.Status,
Created: payload.Created,
Void:payload.Void,
Declined:payload.Declined,
Sent    :payload.Sent,
Delivered:  payload.Delivered,
ACStatus :payload.ACStatus,
ACStatusDate       :payload.ACStatusDate,
ACHolder  :payload.ACHolder,
ACHolderEmail  :payload.ACHolderEmail,
ACHolderLocation : payload.ACHolderLocation,
SigningLocation  : payload.SigningLocation,
SenderIPAddress: payload.SenderIPAddress,
EnvelopeIdStamping: payload.EnvelopeIdStamping,
AuthoritativeCopy :payload.AuthoritativeCopy,
originalPayload:vars.originalPayload,
WorkOui:payload..WorkOui,
upi:payload.upi
}

我得到这个错误,有人可以帮助这个

org.mule.runtime.api.exception.MuleRuntimeException: java.sql.SQLException: Invalid column type
Caused by: org.mule.db.commons.shaded.api.exception.connection.QueryExecutionException: Invalid column type
Caused by: java.sql.SQLException: Invalid column type
at oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedStatement.java:8921) ~[?:?]

当使用xml作为数据库列的参数之一时,使用write(payload)解决了这个问题,现在最终参数是

{
guid: payload.Guid,
timeGenerated: payload.TimeGenerated,
EnvelopeID: payload.EnvelopeID,
Subject: payload.Subject,
UserName: payload.UserName,
Email: payload.Email,
Status: payload.Status,
Created: payload.Created,
Void: payload.Void,
Declined: payload.Declined,
Sent: payload.Sent,
Delivered: payload.Delivered,
ACStatus: payload.ACStatus,
ACStatusDate: payload.ACStatusDate,
ACHolder: payload.ACHolder,
ACHolderEmail: payload.ACHolderEmail,
ACHolderLocation: payload.ACHolderLocation,
SigningLocation: payload.SigningLocation,
SenderIPAddress: payload.SenderIPAddress,
EnvelopeIdStamping: payload.EnvelopeIdStamping,
AuthoritativeCopy: payload.AuthoritativeCopy,
originalPayload: *write(vars.originalPayload)*,
WorkOui: payload.WorkOui,
upi: payload.upi
}

最新更新