2017-07-27 15 views
1

を介してSybaseデータベースの複数のレコードを更新できません。データベース永続化、Jconn4.jar経由のSybaseデータベースへの接続、およびJBOSS 7アプリケーションサーバーへのアプリケーションのデプロイにMybatisフレームワークを使用しています。jconn4.jar/Sybaseドライババージョン7およびMybatisフレームワーク

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 mapper xmlはjconn4.jarと互換性がありません。jdbcType = VARCHARこの問題は解決できませんでした。
同じマッパー構成(jdbcType = CHAR)は、古いバージョンのSybaseドライバ(jconn3.jar)で動作します。

このエラーを解決するにはどうすればよいですか。

答えて

0

jconn4-7.jarを使用して同じ問題が発生しました。しかし、私はjconn4.jarを使用する場合、それは動作します。 だから、これを使ってみることができます。

関連する問題