从升级Spring框架之后
无法确定正确的调用签名-“我的存储过程名称”没有过程/函数/签名
例外情况。然后我进行了调试,发现如果存储过程位于同义词后面,则无法找到它。对于旧的Spring版本,这不是问题。那么他们改变了什么?我现在能做什么?我阅读了有关从数据源检索原始Oracle连接并激活同义词标志的内容:https://docs.oracle.com/cd/E11882_01/appdev.112/e13995/oracle/jdbc/OracleConnection.html#setIncludeSynonyms_boolean_
但在我看来,这并不是一个“美丽”的解决方案。。。
由于没有找到任何其他解决方案,我从SimpleJDBCall切换到常用的Spring JdbcTemplate,并使用
private jdbcTemplate = new JdbcTemplate(myDataSource);
try{
CallableStatement callableStatement = jdbcTemplate.getDataSource().getConnection().prepareCall("{call PACKAGE_NAME.STORED_PROCEDURE_NAME}");
callableStatement.executeUpdate();
} catch(SQLException e)
{
...
}
那时候效果很好。
更新:该问题已在Spring 5.0.4中修复。RELEASE,考虑https://jira.spring.io/browse/SPR-16478
“原子”和“同步”是指同一件事还是有细微的区别? 看看这个问题的答案,我认为我的问题的答案是肯定的,它们是同义词。以下情况一般是否属实? 同步操作将在下一个操作开始之前完成
主要内容:Oracle ALTER TABLE MODIFY列示例,4. 修改虚拟列在本教程中,您将学习如何使用Oracle 列语句来更改现有列的定义。 要更改表中列的定义,请按如下所示使用列语法: 语句很直接。要修改表的列,需要指定要执行的列名,表名和操作。 Oracle允许执行多种操作,但以下是主要常用的操作: 修改列的可见性 允许或不允许值 缩短或扩大列的大小 更改列的默认值 修改虚拟列的表达式 要修改多个列,请使用以下语法: Oracle ALTER TABLE MODI
本文向大家介绍Oracle存储过程和自定义函数详解,包括了Oracle存储过程和自定义函数详解的使用技巧和注意事项,需要的朋友参考一下 概述 PL/SQL中的过程和函数(通常称为子程序)是PL/SQL块的一种特殊的类型,这种类型的子程序可以以编译的形式存放在数据库中,并为后续的程序块调用。 相同点: 完成特定功能的程序 不同点:是否用return语句返回值。 举个例子: 一旦创建了改程序并将其存储
问题内容: 我需要能够生成运行查询,该查询将返回下表中的ID的下一个值: 在Oracle中,您可以在序列上调用NEXTVAL,它为您提供下一个序列(注意:不必在表上进行插入)。 谷歌搜索后,我发现您可以使用以下查询找到auto_increment的当前值: 问题是我希望每次查询该值时该值都增加。在Oracle中,当您调用nextval时,即使不将行插入表中,序列的值也会增加。 有什么方法可以修改上
oracle 11g关于数据库表空间文件最佳配置是什么样的? 企业的数据库是oracle11g的 数据库data空间文件里创建了很多个 有时候满了会用alter新增一个新的文件 有一些疑惑 1.初始大小是设置100m好还是直接一步到位设置 32G? (DB_BLOCK_SIZE是8K 最大就是32G) 2.如何初始大小比如设置10G,开启文件自动扩展 每次扩展大小是设置多大为好? 因为看到别人远程
我正在将一个项目从Oracle迁移到PG,并且遇到一个sql查询问题。 这是我的桌子: 这是我正在迁移的原始oracle查询: 这是我的postgresql查询: 我从这里得到的同级排序解决方案https://stackoverflow.com/a/17737560/5182503 . 然而,postgresql结果集中的行顺序不同于oracle结果集中的行顺序。那rownum呢?我完全停下来了。