Tag: 存储过程

Java:在oracle数据库中调用存储过程

编辑:虽然这个问题的一些答案可以帮助其他人解决不同的问题,但解决方案实际上与数据库连接上的自动提交function有关! 在执行查询后强制提交导致数据库反映更改,因此下面显示的代码是调用此类存储过程的正确方法 我试图在oracle数据库中调用一个简单的存储过程。 该过程如下所示: procedure clear_orderProcDtlByOrdId(p_order_id in order_header.order_id%type, p_transaction_id in sl_order_processing_dtl.transaction_id%type DEFAULT NULL, p_item_action_id in sl_order_processing_dtl.item_action_id%type DEFAULT NULL ) … 我遇到麻烦的java代码看起来像这样 try { CallableStatement storedProc = conn.prepareCall(“{call PKG_PI_FRAUD.clear_orderProcDtlByOrdId(?)}”); storedProc.setString(1, orderID); storedProc.execute(); } catch (SQLException e) { e.printStackTrace(); } 我根本没有收到任何错误,但没有反映数据库更改。 当我在SQL Developer中运行该过程时,我看到了结果。 我认为这可能是因为提交问题,但我建立的连接处于自动提交模式。 任何帮助,将不胜感激!

存储过程将多个表返回到spring jdbc模板

Iam使用JdbcTemplate从我的Spring DAO类调用存储过程。 我的问题是,存储过程返回多个表。 有没有办法使用Spring JdbcTemplate访问多个表。 如果我使用jdbcTemplate.queryForList(myStoredProc, new Object[]{parameters}只从结果中获取第一个表。 我的数据库是SQL Server 2005。 除了jdbcTemplate之外,还有其他方法可以满足我的要求。 如果是,请告诉我。 提前致谢….

我们如何使用Hibernate和JPA调用存储过程?

我们如何使用Hibernate或JPA调用存储过程?

从Oracle存储过程访问Web服务

是否有人从Oracle存储过程成功访问过Web服务? 如果是这样,它是Java存储过程吗? PL / SQL存储过程? 我有什么理由不尝试从存储过程中访问WS? 这是我到目前为止发现的一些参考文献 数据库Web服务 从Java存储过程调用外部Web服务 ..澄清一下,这是针对SOAP调用的

Spring的存储过程 – 从过程返回的结果始终为空

我正在使用Spring的JdbcTemplate和StoredProcedure类。 我无法让存储过程类为我工作。 我在oracle数据库上有一个存储过程。 它的签名是 CREATE OR REPLACE PROCEDURE PRC_GET_USERS_BY_SECTION (user_cursor OUT Pkg_Types.cursor_type , section_option_in IN Varchar2 , section_in IN Varchar2) AS …. 哪里 TYPE cursor_type IS REF CURSOR; 我已创建以下存储过程类以从oracle过程获取信息 private class MyStoredProcedure extends StoredProcedure { public MyStoredProcedure(JdbcTemplate argJdbcTemplate) { super(argJdbcTemplate, “PRC_GET_USERS_BY_SECTION”); declareParameter(new SqlOutParameter(“output”, OracleTypes.CURSOR)); declareParameter(new SqlParameter(“input1”, Types.VARCHAR)); declareParameter(new SqlParameter(“input2”, Types.VARCHAR)); compile(); } public Map execute() […]

在Hibernate中调用存储过程

我刚刚开始学习hibernate,它很有趣。 我使用hibernate将存储过程调用为sql-query时遇到了一些麻烦。 我附上了源码和错误,请帮帮我。 谢谢 :) {call getRecords} 这是java文件::: import java.util.Iterator; import java.util.List; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; public class SelectProc { public static void main(String[] args) { Session session = null; //String query = “select example.id, example.data from Example example”; try{ SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory(); session = sessionFactory.openSession(); System.out.println(“selecting records”); Query […]

如何使用Session Factory从Java Hibernate执行sql存储过程?

我无法使用会话工厂从java hibernate调用我的存储过程 我编写了一个sql过程,它接受5个参数并返回一个在MS SQL studio中正常工作的结果集 EXEC SlaGrid @appID=245,@fromYear=2012,@toYear=2013,@fromMon=1,@toMon=12 — sql EXEC SlaGrid @applID=:applID,@fromYear=:fromYear,@toYear=:toYear,@fromMon=:fromMon,@toMon=:toMon –hibernate 我正在设置上述查询的参数 String queryString = “EXEC SlaGrid @applID=:applID,@fromYear=:fromYear,@toYear=:toYear,@fromMon=:fromMon,@toMon=:toMon” Query query = sessionFactory.getCurrentSession().createSQLQuery(queryString); //set query parameters here query.list() — giving sql grammer exception

如果存储过程在MSSQL服务器2005上的选择之前执行更新,则无结果集

有没有人知道为什么我不会得到结果集如果我在商店程序中的选择之前做更新。 我正在运行MSSQL server 2005和最新的Microsoft JDBC驱动程序。 相关的java代码: CallableStatement cstmt = con.prepareCall(“{call dbo.sp_groups_select}”); if (cstmt.execute()) { while (cstmt.getResultSet().next()) 如果存储过程如下所示,则不会获得结果集: CREATE PROCEDURE [dbo].[sp_groups_select] AS update Computers set ComputerName=’Foo’ where ComputerName=’bar’; select * from Computers; 但如果它看起来像这样我得到一个结果集 CREATE PROCEDURE [dbo].[sp_groups_select] AS select * from Computers; update Computers set ComputerName=’Foo’ where ComputerName=’bar’;

无法从Java执行MySQL存储过程

我正在从运行在tomcat中的Web应用程序连接到Linux机器上运行的MySQL(5.08)数据库。 我尝试执行存储过程时收到以下exception: com.hp.hpl.chaos.web.exception.DBException: getNextValue for operatorinstance[Additional Information from SQL Exception][SQLErrorCode: 0 SQLState: S1000 at com.hp.hpl.chaos.web.util.SQLUtil.getNextValue(SQLUtil.java:207) ………….. Caused by: java.sql.SQLException: User does not have access to metadata required to determine stored procedure parameter types. If rights can not be granted, configure connection with “noAccessToProcedureBodies=true” to have driver generate parameters that represent INOUT strings irregardless of actual […]

在Java应用程序中执行“sp_msforeachdb”

您好StackOverflow社区:) 我来找你分享我的一个问题…… 我必须提取SQL Server实例的每个数据库中的每个表的列表 ,我找到了这个查询: EXEC sp_msforeachdb ‘Use ?; SELECT DB_NAME() AS DB, * FROM sys.tables’ 它在Microsoft SQL Server Management Studio上运行良好,但是当我尝试在我的Java程序 (包括SQL Server的JDBC驱动程序)中执行它时,它表示它不会返回任何结果 。 我的Java代码如下: this.statement = this.connect.createStatement(); // Create the statement this.resultats = this.statement.executeQuery(“EXEC sp_msforeachdb ‘Use ?; SELECT DB_NAME() AS DB, * FROM sys.tables'”); // Execute the query and store results in a ResultSet […]