10bet网址
MySQL Connector/J 5.1版本说明
相关的文档10bet官方网站 下载这些版本说明
PDF(美国Ltr)- 0.6 mb
PDF (A4)- 0.6 mb


MySQL Connector/J 5.1.3 (2007-09-10)

与5.0系列连接器/J相比的新特性

  • 对JDBC-4.0的支持NCHARNVARCHAR而且NCLOB类型。

  • JDBC-4.0支持设置每个连接的客户端信息(可以在使用显示PROCESSLIST在MySQL服务器上,或者可以扩展以支持使用公共接口自定义持久性信息)。

  • 支持JDBC-4.0 XML处理,使用到DOM、SAX和StAX的JAXP接口。

  • JDBC-4.0对包含供应商扩展的接口进行了标准化的展开。

增加或更改的功能

  • 连接器/J现在使用初始字符集进行连接utf - 8仅用于身份验证的目的,以允许在JDBC连接URL中使用任何字符集中的用户名或数据库名。(错误# 29853)

  • 增加了两个配置参数:

    • blobsAreStrings:驱动程序是否总是将blob视为字符串。专门用于处理由服务器返回的可疑元数据集团条款。默认为false。

    • functionsNeverReturnBlobs:驱动程序是否总是处理函数返回的数据斑点作为字符串。专门用于处理由服务器返回的可疑元数据集团条款。默认为false。

  • 设置rewriteBatchedStatements真正的now导致带有批处理参数的CallableStatements以"CALL(…);叫(…);,以尽可能少的客户机/服务器往返发送批处理。

  • 驱动程序现在根据启发式选择适当的内部行表示(一个缓冲区中的整行,或每个列值的单个字节[]s),包括行是否具有文本类型和总体行大小。导致驱动程序使用缓冲区而不是单个字节[]s的行大小阈值由configuration属性配置largeRowSizeThreshold,默认值为2KB。

  • 的数据(及其存储方式)结果集行现在位于接口的后面,这使我们(在某些情况下)能够为每行分配更少的内存,对于“流”结果集,我们重用用于读取行的包,因为一次只有一行是活动的。

  • 增加了对语句“拦截器”的实验支持com.mysql.jdbc.StatementInterceptor接口,示例都在com/mysql/jdbc/interceptors.实现这个接口,将其置于查询执行的“中间”,以便它可以受到影响(目前处于实验阶段)。

  • 驱动程序将自动调整服务器会话变量net_write_timeout当它确定它被请求一个“流”结果,并在结果集已被使用时将其重置为前一个值。(配置属性被命名netTimeoutForStreamingResults,以秒为单位,值“0”表示驱动程序不会尝试调整该值)。

  • JDBC-4.0的易于开发特性,包括使用DriverManager通过服务提供者机制,标准化连接有效性检查和分类异常基于可恢复性/可重试性和基础错误的类别。

  • Statement.setQueryTimeout ()S现在影响批处理语句的整个批处理,而不是组成批处理的单个语句。

  • 期间遇到的错误声明/PreparedStatement/CallableStatement.executeBatch ()rewriteBatchStatements已经设置为真正的现在返回BatchUpdateExceptions根据设定continueBatchOnError

    如果continueBatchOnError设置为真正的,作为一个单元发送的“块”的更新计数将全部设置为EXECUTE_FAILED,但驱动程序将尝试处理批处理的其余部分。控件中返回的更新计数可以确定哪个“块”失败了BatchUpdateException

    如果continueBatchOnError设置为“false”,则返回的更新计数将包含到并包括失败的“chunk”的所有更新,失败的“chunk”的所有计数设置为EXECUTE_FAILED

    因为MySQL不会对多语句或多值返回多个错误码插入/取代,应用程序负责处理确定“块”中的哪个(多个)项实际上失败了。

  • com.mysql.jdbc.Statement的新方法:setLocalInfileInputStream ()而且getLocalInfileInputStream ()

    • setLocalInfileInputStream ()设置一个InputStream实例,该实例将用于向MySQL服务器发送数据本地加载数据语句而不是FileInputStreamURLInputStream它表示作为语句参数给出的路径。

      对象执行时,此流将被读取到完成本地加载数据语句,并且将被驱动程序自动关闭,因此它需要在每次调用之前重置执行* ()这将导致MySQL服务器请求数据来完成对的请求本地加载数据

      如果该值设置为,驱动程序将恢复到使用FileInputStreamURLInputStream是必需的。

    • getLocalInfileInputStream ()返回InputStream实例,该实例将用于在响应中发送数据本地加载数据声明。

      这个方法返回如果没有设置这样的流setLocalInfileInputStream ()

  • 设置useBlobToStoreUTF8OutsideBMP真正的告诉司机治疗中/长斑点列如VARCHAR(长)包含UTF-8编码的文本的列具有BMP以外的字符(4字节编码),MySQL服务器无法本地处理。

    utf8OutsideBmpExcludedColumnNamePattern,以便与给定的正则表达式匹配的列名仍然被视为斑点正则表达式必须遵循用于java.util.regex包中。默认值是不排除任何列,而包括所有列。

    utf8OutsideBmpIncludedColumnNamePattern指定排除规则utf8out侧边mpexcludedcolumnnameppattern "。正则表达式必须遵循用于java.util.regex包中。

错误修复

  • setObject(int, Object, int, int)PreparedStatementWrapper中的delegate委托给错误的方法。(错误# 30892)

  • 时具有空列值的NPEpadCharsWithSpace设置为true。(错误# 30851)

  • 排序上VARBINARY列类型将被错误识别。已经添加了一个修复,但这个修复只适用于MySQL服务器版本5.0.25及更新的版本,因为早期的版本没有一致地为函数返回正确的元数据,因此子查询和函数的结果无法相互区分,导致类型相关的错误。(错误# 30664)

  • 一个ArithmeticExceptionNullPointerException会在批处理中没有成员和rewriteBatchedStatements = trueaddBatch ()从来没打过电话,还是executeBatch ()被立即呼叫clearBatch ().(错误# 30550)

  • 关闭负载平衡连接将导致ClassCastException.(错误# 29852)

  • JBoss的连接检查器没有使用使用反射的相同方法参数,导致连接总是看起来“糟糕”。(错误# 29106)

  • DatabaseMetaData.getTypeInfo ()对于类型小数而且数字对于5.0.3以下的服务器版本,将返回254的精度,对于5.0.3到5.0.5的服务器版本,将返回64的精度,对于5.0.5以下的服务器版本,将返回65的精度。(错误# 28972)

  • CallableStatement.executeBatch ()连接属性时不工作noAccessToProcedureBodies已经设置为真正的

    解决方法包括改变行为noAccessToProcedureBodies,因为驱动程序现在将报告所有参数为参数,但允许调用者在它们上调用registerOutParameter()而不抛出异常。(错误# 28689)

  • DatabaseMetaData.getColumns ()不包含SCOPE_ *IS_AUTOINCREMENT列。(错误# 27915)

  • 没有正确检索连接字符以外的标识符的架构对象ResultSetMetadata.(错误# 27867)

  • Connection.getServerCharacterEncoding ()不适用于>= 4.1版本的服务器。(错误# 27182)

  • 自动化的SVN修订版DBMD.getDriverVersion ().现在,在构建过程中将目录的SVN版本插入到版本信息中。(错误# 21116)

  • 在连接池中指定一个以“/* ping */”_exacly_开头的“验证查询”将导致驱动发送一个ping到服务器,并返回一个假的结果集(轻量级得多),当使用ReplicationConnection或LoadBalancedConnection时,将在所有活动连接中发送ping。