搜索到关键字为 JDBC 的相关日志 8 篇: ("[空格]和"+"[加号] 可作搜索分隔符号使用.)

不受支持的 SQL 类型 1111 rainy

Sybase 的官方驱动 jConnect4 (链接字符串:jdbc:sybase:Tds:127.0.0.1:5000/xxx) 结合myBatis使用时,发现如下问题,当insert或者update语句的变量含有null值,会报错:

 ### Cause: java.sql.SQLException: JZ006: 捕获到 IO 例外:java.io.IOException: JZ0SL: 不受支持的 SQL 类型 1111。

Cause: java.sql.SQLException: JZ006: Caught IOException: java.io.IOException: JZ0SL: Unsupported SQL type 1111.

由于参数出现了null值,myBatis进行操作的时候,指定jdbcType类型的参数时,mybatis默认设置为jdbcType.OTHER,导致Sybase数据库无法识别此格式。

解决方法:给参数加上jdbcType可解决(注意大小写) 。

比如:
insert into xxx(a,b) values(#{a,jdbcType=VARCHAR}, #{b,jdbcType=DATE})
update xxx set a=#{a,jdbcType=VARCHAR} where id=#{id}

目前jdbcType含有以下类型:

ARRAY(Types.ARRAY),
BIT(Types.BIT),
...

Maven2目录和pom.xml文件基本节点介绍 rainy

pom.xml 文件基本节点介绍

<project> :文件的根节点 .
<modelversion> : pom.xml 使用的对象模型版本 .
<groupId> :创建项目的组织或团体的唯一 Id.
<artifactId> :项目的唯一 Id, 可视为项目名 .
<packaging> :打包物的扩展名,一般有 JAR,WAR,EAR 等
<version> :产品的版本号 .
...

ORA-00600: internal error code, arguments: [ttcgcshnd-1], [0], [], [], [], [], [], [] suny

      今天一个系统的Oracle数据库升级后,遇到如下的错误:ORA-00600: internal error code, arguments: [ttcgcshnd-1], [0], [], [], [], [], [], [] 
      百度告诉我:这个问题可能是Oracle的版本问题,可用ojdbc14.jar代替classes12.jar,因为从oracle 9.2之后,对jdbc 的驱动程序的命名将有所改变,JDK1.1,JDK1.2的驱动程序名(class12.jar)将不再改变,一直沿用下去,从JDK1.4开始驱动程序名将所有改变,例如:JDK1.4的驱动名为ojdbc14.jar 。JDK1.5的驱动名为ojdbc15.jar。
      重新下载了对应的驱动程序后,问题得到解决。

PLSQL Developer + Oracle客户端简易安装方法 cloudy

之前一直都是用eclipse自带的Data Source Explorer访问Oracle数据库,可是只能简单地查看,而且很多字段不兼容。
今天开始使用PLSQL Developer连接远程Oracle数据库的时候,提示我没有安装Oracle客户端,才知道PLSQL Developer不是独立的软件,是要基于Oracle客户端运行的。

下面就介绍一下没有安装Oracle数据库的情况下,单独安装一个客户端。

1、到Oracle官方网站下载一个客户端:http://www.oracle.com/technology/global/cn/software/tech/oci/instantclient/index.html

2、我这里选择的是:即时客户端程序包 — Basic: 运行 OCI、OCCI 和 JDBC-OCI 应用程序所需的所有文件(instantclient-basic-win32-11.1.00.70.0.zip)

3、将安装包解压和重命名为:D:\OracleInstantClient_11_1

4、设置环境变量:
 1.;D:\OracleInstantClient_11_1; (在PATH环境变量追加)
 2.SET TNS_ADMIN=D:\OracleInstantClient_11_1 (新建)
 3.SET NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK (新建,防止查询乱码)

5、指定需要连接的实例名字,在D:\OracleInstantClient_11_1目录下新建一个tnsnames.ora文件,然后填入
192.168.8.201 =
...

使用iBatis获取JDBC数据库链接对象,直接执行SQL suny

在日常开发当中,我们可能会遇到这种情况,想使用单独一条SQL更新某一个字段,如果没有配置详细的VO和sqlMap-xml映射,一般人第一反应就是使用JDBC直接操作。
以下的做法只是"偷懒的",不推荐时常或者全部使用这种做法!这种做法等于直接在代码中写sql,脱离了iBatis的框架,会导致代码可读性差和维护困难。

//sqlMapClient 为你的 sqlMapClient 对象,具体获取方法由当前代码决定

String updateSql = "UPDATE ARCHIVE SET groupId=´"+ groupId + "´ where id="+ id;
Connection conn = sqlMapClient.getDataSource().getConnection();
conn.setAutoCommit(true);

Statement stm = conn.createStatement();
int n = stm.executeUpdate(updateSql);

得到Connection对象后,就可以使用它直接做JDBC的操作了,可以进行直接的增删改查。

Hibernate 使用proxool连接池连接MySQL数据库 cloud

注:本人用的MySQL是5.1版本,proxool0.9.0RC3,部分参数可能因为版本的差异而有所不同。如有疑问,请到论坛寻求帮助:http://www.javawind.net

1、在hibernate.cfg.xml同级目录下建立Proxool的配置文件 ProxoolConf.xml

<?xml version="1.0" encoding="utf-8"?>
<something-else-entirely>
 <proxool>
  <alias>javawindPool</alias>
  <driver-url>jdbc:mysql://localhost:3306/bbs?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=UTF-8</driver-url>
  <driver-class>org.gjt.mm.mysql.Driver</driver-class>
...

郁闷的MySQL错误 suny

今晚发现无法撰写日志,查看Resin日志如下,baidu和google搜索一系列解决方法皆未果。

奇怪的是,只是Statement无法操作数据库,select和update都正常。重启MySQL Server,错误仍旧,只有重启Resin才正常。真是郁闷。

错误有待研究。以下是错误日志:

STACKTRACE:
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:
** BEGIN NESTED EXCEPTION **
java.net.SocketException
MESSAGE: Software caused connection abort: socket write error

STACKTRACE:
java.net.SocketException: Software caused connection abort: socket write error
...

JSP面试(经典) 转帖 cloudy

1、如何混合使用Jsp和SSI #include? 
 在JSP中可以使用如下方式包含纯HTML: 
 <!--#include file="data.inc"--> 
 但是如果data.inc中包含JSP CODE ,我们可以使用: 
 <%@include file="data.inc"%>  

...