发布网友 发布时间:2022-04-11 09:11
共5个回答
热心网友 时间:2022-04-11 10:40
存储过程名字不合法,建议检查先在数据库中把存储过程运行一遍,再拿到Java类中使用。热心网友 时间:2022-04-11 11:58
你的数据库里有FIND_CCDUST.CLASS这个存储过程吗?追问什么意思?存储过程是什么?那个表格我有啊ccst。class是我创建的表格追答String sql="{call find_ccst.class(?,?)}";
你执行这个语句的意思就是要调用一个名字为find_ccst.class的存储过程!
热心网友 时间:2022-04-11 13:33
你是不是想用JDBC连接Oracle数据库啊!?追答我给你找一下经典的连接Oracle数据库方法,
存储过程是你写的sql语句,通过调用存储过程来执行sql语句;
稍等!
/**
* 把属性文件db_oracle.properties中的数据读入到
* 本类的全局变量中
* init: initialize: 初始化
*/
public static void init(){
try {
//1.装载
FileInputStream fis = new FileInputStream(
new File("src/db_oracle.properties"));
Properties props = new Properties();
props.load(fis);//把输入流中的键值对数据装载到对象props中
//2.获取
url = props.getProperty("url");
driver = props.getProperty("driver");
dbUser = props.getProperty("dbUser");
dbPwd = props.getProperty("dbPwd");
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 利用init方法获取的参数,构造数据库连接并返回
* @return
*/
public static Connection getConnection(){
init();
Connection conn = null;
try{
Class.forName(driver);
conn = DriverManager.getConnection(url,dbUser,dbPwd);
}catch(Exception e){
e.printStackTrace();
}
return conn;
}
/**
* 关闭连接
* @param conn
*/
public static void close(Connection conn){
if (conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
/**
* 关闭语句对象
* @param stmt
*/
public static void close(Statement stmt){
if (stmt != null){
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
/**
* 关闭结果集
*/
public static void close(ResultSet rs){
if (rs != null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
热心网友 时间:2022-04-11 15:24
存储过程时一系列的Sql语句组合起来的一段逻辑,看你的程序你是想访问的是你的存储过程,而不是操作某个表。热心网友 时间:2022-04-11 17:32
你的存储过程名称叫