java - 无法通过 jconn4.jar/Sybase 驱动程序版本 7 和 Mybatis 框架更新 Sybase 数据库中的多条记录

标签 java jboss7.x sybase mybatis jconnect

我使用 Mybatis 框架进行数据库持久化,通过 Jconn4.jar 连接到 Sybase 数据库,并将我的应用程序部署在 JBOSS 7 应用程序服务器上。

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,但添加/更新/删除多个记录不起作用。
我怀疑问题出在mybatis mapper xml中的jdbcType=CHAR与jconn4.jar不兼容。我也尝试了jdbcType=VARCHAR但仍然无法解决这个问题。
相同的映射器配置(jdbcType=CHAR)适用于旧版本的Sybase驱动程序 - jconn3.jar。

请帮助解决此错误。

最佳答案

我使用 jconn4-7.jar 遇到了同样的问题。但如果我使用 jconn4.jar 它就可以了。 所以你可以尝试使用这个。

关于java - 无法通过 jconn4.jar/Sybase 驱动程序版本 7 和 Mybatis 框架更新 Sybase 数据库中的多条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45342992/

相关文章:

默认情况下 Java 字符串实习生

java - 使用 volley 获取 JSON 响应 - Android Studio

mysql - SQL - 如何选择 "Next Max"记录

sql - 选择查询不会在 Linux 脚本中给出预期结果

java - JDBC - PostgreSQL - 批量插入+唯一索引

java - String 类型的属性与以下类型不匹配 : object in schema JSON Schema validator

jboss - 使用 Atmosphere + Jersey 在 pubsub 示例上出错

jboss7.x - 从 JBoss AS 5.0.1 迁移到 JBoss AS 7

tomcat - Jboss 上传文件到哪里下载?