2012-11-20 1 views
0

Mule 3.3.0을 사용하여 SQL Server 2008 데이터베이스의 SELECT 데이터에 대한 저장 프로 시저를 실행하려고합니다.저장 프로 시저를 실행하여 데이터 선택 - Mule 3.3.0

뮬 문서에는 오라클과 관련하여 정보가 있습니다. 이것이 SQL Server에서 가능한지 확실하지 않습니다.

이이 출력

Root Exception stack trace: 
java.sql.SQLException: The executeUpdate method must not return a result set. 
    at net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:603) 
    at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:546) 
    at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeUpdate(JtdsPreparedStatement.java:506) 
    + 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything) 

나는 jTDS를 드라이버를 사용하고 내 뮬 엔드 포인트 설정

<jdbc:outbound-endpoint exchange-pattern="request-response" queryTimeout="-1" connector-ref="sqlServerConnector" queryKey="selectCoupons" doc:name="Database"> 
    <jdbc:query key="selectCoupons" value="call sp_get_coupons()"/> 
</jdbc:outbound-endpoint> 

입니다. JDBC 클라이언트로 스토어드 프로 시저를 테스트하면 예상되는 resultSet을 얻는다.

제안 사항?

+0

그와 아무 짓도하지 마십시오. 하지만 "exec sp _...."와 같은 것을 사용하지 않습니까? "전화"가 이상하게 보입니다. – stb

+0

아마도 mule은 저장 프로 시저의 결과를 가져올 수 없지만 실제로 실행되었습니다. 일부 값을 업데이트하는 자체 스토어드 프로 시저를 작성하여이를 시도 할 수 있습니다. – stb

+0

이미 시도했습니다. 이것은 내가 얻은 것입니다 : java.lang.IllegalArgumentException : SQL 문에 대한 SQL 전략이 없습니다. exec sp_get_coupons() – Daniel

답변

-1

<db:stored-procedure config-ref="Oracle_Configuration1" doc:name="Database"> 
 
      <db:parameterized-query><![CDATA[{call apps.create_sales_Order(:p_header_rec_oper,:P_order_number,:P_ordered_date,:P_line_id,:p_flow_Status_code,:P_return_status)}]]></db:parameterized-query> 
 
      <db:in-param name="p_header_rec_oper" value="CREATE"/> 
 
      <db:out-param name="P_order_number" type="INTEGER"/> 
 
      <db:out-param name="P_ordered_date" type="DATE"/> 
 
      <db:out-param name="P_line_id" type="VARCHAR"/> 
 
      <db:out-param name="p_flow_Status_code" type="VARCHAR"/> 
 
      <db:out-param name="P_return_status" type="VARCHAR"/> 
 
      
 
</db:stored-procedure> 
 

 
{ 
 
• \t P_return_status: "S", 
 
• \t P_line_id: "684229", 
 
• \t p_flow_Status_code: "ENTERED", 
 
• \t P_ordered_date: "2015-05-22", 
 
• \t P_order_number: 69393 
 
}