java調用存儲過程:
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Types;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/**
* <p>
* Title: OrclFunctionUtil.java
* </p>
* <p>
* Description:
* </p>
* <p>
* Copyright: Copyright (c) 2009-2011
* </p>
* <p>
* Company:
* </p>
*
* @author erdp
* @date 2011-8-19
* @version 1.0
*/
public class OrclFunctionUtil {
private static final Log logger = LogFactory.getLog(OrclFunctionUtil.class);
private static Connection connection = null;
private static CallableStatement callableStatement = null;
static {
try {
Class.forName(ProertiesConfigUtil.getJdbcProValue("jdbc.driverClassName"));
connection = DriverManager.getConnection(ProertiesConfigUtil.getJdbcProValue("jdbc.url"), ProertiesConfigUtil.getJdbcProValue("jdbc.username"), ProertiesConfigUtil.getJdbcProValue("jdbc.password"));
} catch (ClassNotFoundException e) {
logger.error("數據庫連接類找不到!");
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
*
* @param functionName
* @param dblinkName
*/
public static void syncNcBaseDataImpl(String functionName, String dblinkName) {
StringBuffer sb = new StringBuffer("{? =call ");
sb.append(functionName).append("}");
try {
callableStatement = connection.prepareCall(sb.toString());
callableStatement.registerOutParameter(1, Types.VARCHAR);
callableStatement.setString(2, "");
callableStatement.setString(3, dblinkName);
callableStatement.execute();
String returnStr = callableStatement.getString(1);
if(returnStr!=null&&"100".equals(returnStr)){
logger.error("同步基礎數據成功!");
}else{
logger.error("同步基礎數據失敗!");
}
} catch (SQLException e) {
logger.error(e);
}
}
}
作者“ERDP技術架構”