jdbc调用存储过程问题

问题描述

从java调用存储过程,入参是数组的问题:java端:StructDescriptorsd=StructDescriptor.createDescriptor("WUTEST",con);Object[]nesta=newObject[]{null,null};STRUCTsnesta=newSTRUCT(sd,con,nesta);Object[]kisey=newObject[]{null,null};STRUCTskisey=newSTRUCT(sd,con,kisey);ArrayDescriptorad=ArrayDescriptor.createDescriptor("WUTESTS",con);ARRAYguysin=newARRAY(ad,con,newSTRUCT[]{snesta,skisey});cs.setArray(1,guysin);

DB:CREATEORREPLACETYPEwuTestASOBJECT(aVARCHAR2(200),bVARCHAR2(200))CREATEORREPLACETYPEWUTESTSISTABLEOFWUTEST******:该source在家中跑通,单位里报nonsupportedcharacterset:oracle-character-set-832初步判定是字符集的问题,家中DB的字符集是中文系统默认的,单位的是JA16SJIS,求解决办法,即在该DB字符集条件下,调用入参为数组类型的办法

解决方案

解决方案二:
该回复于2011-03-29 10:05:19被版主删除

时间: 2024-10-28 19:48:47

jdbc调用存储过程问题的相关文章

java使用jdbc调用存储过程,没有返回结果集。。

问题描述 java使用jdbc调用存储过程,没有返回结果集.. 整个过程是这样的:之前的程序已经上线运行了.后来客户数据库升级,从sqlServer2005升级到sqlServer2008.当然系统也做了相应改动.我们是第三方软件,调用他们的数据库中的存储过程来查询数据.他们升级完系统和数据库之后,我们就查询数据报错.然后最先报的错是驱动版本问题.我就到网上下了sqljdbc4.jar.替换了之后不再报驱动的问题.但是一直无结果集.于是我直接把调用存储过程的sql语句放到数据库中执行.是能查到结

JDBC调用存储过程,以及存储过程 事务的使用.....

在JDBC中调用存储过程 首先就要在数据库中存在 要调用的过程  ,存储过程是一组SQL语句的集合,我们吧实现某一功能的 SQL语句集合在一起来使用,方便了用户,不光是这样,存储过程可以预编译,也就是说只要调用了一次存储过程,那么下次在调用存储过程的时候 就不需要进行再次编译了  .提高了 数据库访问的效率 .. 在 SQL  SERVER20008  中创建存储过程    语法如下        Create   Procedure   过程名字(@parameter1  int ,@para

jdbc 调用存储过程不成功的bug

问题描述 java.sql.SQLException:ORA-01033:ORACLEinitializationorshutdowninprogressatoracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)atoracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)atoracle.jdbc.driver.T4CTTIoer.pro

JDBC调用MySQL5存储过程

一.环境 MySQL5.1 mysql-connector-java-5.1.10 jdk1.5 表 create table user ( id int(11) not null auto_increment, name varchar(50) not null, pswd varchar(50) default null, pic longblob, remark longtext, primary key (id) ); 二.写存储过程 DELIMITER $ DROP PROCEDURE

struts2+spring2.0+ibatis调用存储过程。

问题描述 我现在的做的项目是struts2+spring2.0+ibatis的,以前一直用Hibernate,对ibatis不熟.现在要频繁的调用一批存储过程.我有个问题,不理解.struts2+spring2.0+ibatis的系统,可以配置了既可以用ibatis又可以用jdbc吗我发觉jdbc调用存储过程比较简单,但是如果是在现有系统中不用spring的事务管理,自己在代码里写个链接jdbc的代码,很多存储过程要频繁打开,关闭连接,性能肯定不行.所以想问问,有什么方法,比如,ibatis直接

jdbc调用mysql存储过程实现代码_Mysql

1. 创建存储过程 建立一个MySQL的存储过程 add_pro 复制代码 代码如下: delimiter // drop procedure add_pro // create procedure add_pro(a int , b int , out sum int ) begin set sum = a * b; end; // 2. 调用存储过程 复制代码 代码如下: package com.zhanggaosong; import java.sql.CallableStatement;

Java 调用存储过程

存储过程 本文阐述了怎么使用DBMS存储过程.我阐述了使用存储过程的基本的和高级特性,比如返回ResultSet.本文假设你对DBMS和JDBC已经非常熟悉,也假设你能够毫无障碍地阅读其它语言写成的代码(即不是Java的语言),但是,并不要求你有任何存储过程的编程经历. 存储过程是指保存在数据库并在数据库端执行的程序.你可以使用特殊的语法在Java类中调用存储过程.在调用时,存储过程的名称及指定的参数通过JDBC连接发送给DBMS,执行存储过程并通过连接(如果有)返回结果. 使用存储过程拥有和使

spring中调用存储过程

springframework.jdbc.object.StoredProcedure是对应存储过程调用的操作对象,它通过其父类org.springframework.jdbc.object.SqlCall获得相应的底层API支持(CallableStatementCreator),然后在此基础之上构建了调用存储过程的执行方法. StoredProcedure是抽象类,所以需要实现相应子类以封装对特定存储过程的调用,还记得我们在讲解JdbcTemplate调用存储过程时候定义的存储过程吗? CR

Hibernate3.x调用存储过程大揭密

三.编码与测试 在准备工作完成后,进入编码与测试阶段,本例演示了在hibernate3.0中调用mysql的存储过程的方法. 1.hibernate的配置文件 在hibernate的配置文件中包含数据库的连接信息,以及加入OR mapping的xml格式的映射文件,该文件如下(部分内容略): -- <property name="connection.url">jdbc:mysql://localhost:3306/test</property> <pro