2017-07-27 38 views
1

我正在使用Mybatis框架進行數據庫持久化,通過Jconn4.jar連接到Sybase數據庫並在JBOSS 7應用程序服務器上部署我的應用程序。無法通過jconn4.jar/Sybase驅動程序版本7和Mybatis框架更新Sybase數據庫中的多條記錄

1)的MyBatis映射器 - CustomerMapper.xml

<update id="updateCustomerMapping" parameterType="java.util.Map" statementType="CALLABLE"> 
    {call sp_update_customer(#{account_customer,jdbcType=CHAR,mode=IN}, 
    #{customer_code,jdbcType=CHAR,mode=IN})} 
</update> 

2)的Sybase步驟

CREATE PROCEDURE dbo.sp_update_customer 
(
    @account_customer varchar(10), 
    @customer_code varchar(12)=NULL 
) 

3)的JBoss 7獨立配置

<datasource jta="true" jndi-name="java:/SybaseDS" pool-name="SybaseDS" enabled="true" use-ccm="true"> 
     <connection-url>jdbc:sybase:Tds:****:1000/****?chained=false</connection-url> 
     <driver-class>com.sybase.jdbc4.jdbc.SybDriver</driver-class> 
     <driver>sybase</driver> 
     <security> 
      <user-name>****</user-name> 
      <password>****</password> 
     </security> 
     <validation> 
      <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.sybase.SybaseValidConnectionChecker"/> 
      <background-validation>true</background-validation> 
      <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.sybase.SybaseExceptionSorter"/> 
     </validation> 
    </datasource> 

使用Jconn4.jar添加/更新/刪除單個記錄,但添加/更新/刪除多個記錄不起作用。
我懷疑問題是與jdbcType爲CHAR在MyBatis的XML映射不兼容jconn4.jar.I也試過jdbcType爲VARCHAR但還是沒能解決這個問題。
相同的映射器配置(jdbcType = CHAR)適用於較早版本的Sybase驅動程序 - jconn3.jar。

請幫忙解決此錯誤。

回答

0

我遇到同樣的問題,使用jconn4-7.jar。但是,如果我使用jconn4.jar它的作品。 所以你可以嘗試使用這個。

相關問題