我正在尝试从文件插入到oracle数据库。我主要完成了here的教程。虽然我已经做了一些小的修改使其成为插入,但是插入发送端口现在拾取文件但是给出了以下错误。
这里可能有什么问题,或者有没有办法检查此界面创建的查询?
输入文件
<ns0:Insert xmlns:ns0="http://Microsoft.LobServices.OracleDB/2007/03/DCSDBA/Table/V_SIZE">
<ns0:RECORDSET>
<ns0:V_SIZERECORDINSERT>
<ns0:V_SIZE InlineValue="InlineValue_0">V_SIZE_0</ns0:V_SIZE>
<ns0:SEQ_NR InlineValue="InlineValue_0">10.4</ns0:SEQ_NR>
</ns0:V_SIZERECORDINSERT>
</ns0:RECORDSET>
</ns0:Insert>
错误消息
The adapter failed to transmit message going to send port
"WcfSendPort_OracleDBBinding_DCSDBA_Table_V_SIZE_Custom" with URL
"oracledb://redprairie:1521/TST/Dedicated?PollingId=Test".
It will be retransmitted after the retry interval specified for this Send Port.
Details:"Microsoft.ServiceModel.Channels.Common.TargetSystemException:
ORA-06550: line 2, column 78:
PL/SQL: ORA-00984: column not allowed here
ORA-06550: line 2, column 1:
PL/SQL: SQL Statement ignored --->
Oracle.DataAccess.Client.OracleException: ORA-06550: line 2, column 78:
PL/SQL: ORA-00984: column not allowed here
ORA-06550: line 2, column 1:
PL/SQL: SQL Statement ignored
at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
at Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
at Oracle.DataAccess.Client.OracleCommand.ExecuteNonQuery()
at Microsoft.Adapters.OracleCommon.OracleCommonUtils.ExecuteNonQuery(OracleCommand command, OracleCommonExecutionHelper executionHelper)
--- End of inner exception stack trace ---
答案 0 :(得分:2)
您不应使用内联值。请查看使用内联conditions
<ns0:Insert xmlns:ns0="http://Microsoft.LobServices.OracleDB/2007/03/DCSDBA/Table/V_SIZE">
<ns0:RECORDSET>
<ns0:V_SIZERECORDINSERT>
<ns0:V_SIZE>V_SIZE_0</ns0:V_SIZE>
<ns0:SEQ_NR>10.4</ns0:SEQ_NR>
</ns0:V_SIZERECORDINSERT>
</ns0:RECORDSET>
</ns0:Insert>