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

Posted

技术标签:

【中文标题】无法通过 jconn4.jar/Sybase 驱动版本 7 & Mybatis 框架更新 Sybase 数据库中的多条记录【英文标题】:Unable to update multiple records in Sybase database via jconn4.jar/Sybase driver version 7 & Mybatis framework 【发布时间】:2017-07-27 06:33:35 【问题描述】:

我正在使用 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。

请帮助解决此错误。

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于无法通过 jconn4.jar/Sybase 驱动版本 7 & Mybatis 框架更新 Sybase 数据库中的多条记录的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu 驱动编译无法通过 求神来解决

无法使用 datastax java 驱动程序通过 UDT 键从 cassandra 检索

带有 Firefox Web 驱动程序的 Selenium 无法通过 Python 代码找到元素

win10 系统无法通过数据线连接安卓手机,提示无法识别驱动器的解决方案

无法通过 XAMPP 连接到 SQL 数据库 - 驱动程序的 SQLSetConnectAttr 失败

无法使用 Impala JDBC 驱动程序通过 Java 应用程序连接到 Impala