2012-06-28 60 views
1

我想從文件插入到oracle數據庫。我主要關注了教程,我發現here。我做了一些小改動,使其成爲僅插入,但插入發送端口現在拿起文件,但給出了下面的錯誤。BizTalk插入到Oracle數據庫 - PL/SQL:ORA-00984:列不允許在這裏ORA

這裏有什麼可能是錯的,或者有沒有辦法來檢查這個接口創建了什麼查詢?


輸入文件

<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 --- 

回答

2

您shold不要使用內聯價值。看看使用內嵌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> 
+0

這似乎工作。錯誤發生了變化(約束),我會修復這個錯誤並接受你的答案。 – Andy

+0

感謝您的回答。輸入文件是Visual Studio中的一個自動生成的文件,所以很奇怪它創建了這些內嵌註釋。當我得到時間時,我會檢查你的鏈接。 – Andy