Questions tagged «oracle»

Oracle数据库是由Oracle Corporation创建的多模型数据库管理系统。请勿将此标签用于Oracle拥有的其他产品,例如Java和MySQL。

5
在从字符串> 4k创建的谓词中使用Oracle Clob
我正在尝试从> 4000个字符(在file_data绑定变量中提供)的字符串创建一个Clob,以在下面的Oracle SELECT谓词中使用: myQuery= select * from dcr_mols WHERE flexmatch(ctab,:file_data,'MATCH=ALL')=1; 如果我将TO_CLOB()添加到file_data的周围,则它将无法达到臭名昭著的Oracle 4k对varchar的限制(对于<4k的字符串就可以)。错误(在SQL Developer中)为: ORA-01460: unimplemented or unreasonable conversion requested 01460. 00000 - "unimplemented or unreasonable conversion requested" 仅供参考,flexmatch函数用于搜索分子,在此处进行了描述:http : //help.accelrysonline.com/ulm/onelab/1.0/content/ulm_pdfs/direct/developers/direct_2016_developersguide.pdf 函数本身有点复杂,但本质是第二个参数必须是Clob。所以我的问题是如何将超过4000个字符的Java字符串bind_variable转换为sql(或Java)中的clob。 我使用以下方法在Java(Spring boot 2)中尝试了以下方法(在插入Clob时有效): MapSqlParameterSource parameters = new MapSqlParameterSource(); parameters.addValue("file_data", fileDataStr,Types.CLOB); jdbcNamedParameterTemplate.query(myQuery,parameters,… 此方法应该可以工作,但是会失败,并会产生一个弹性匹配错误,仅供参考: SQL state [99999]; error code [29902]; ORA-29902: …

3
Oracle JDBC优化:在Spring Boot应用程序中启用PreparedStatement缓存
我有一个连接到Oracle数据库的Spring Boot REST应用程序。我们正在通过JdbcTemplate使用JDBC。Oracle数据库属性是通过以下3个application.properties设置获得的: spring.datasource.url spring.datasource.username spring.datasource.password 该应用程序正在使用HikariCP。从HikariCP网站上,我知道该池不缓存PreparedStatements,因为JDBC驱动程序是最好的设置。 现在,我将在哪里指定什么来确保这些: Oracle JDBC驱动程序(ojdbc7.jar)缓存PreparedStatements。有没有一种方法可以自定义它可以缓存的PreparedStatements的数量。 从https://howtodoinjava.com/java/jdbc/best-practices-to-improve-jdbc-performance/中,我们看到 确保将数据库设置为最大数据包大小,并且驱动程序与该数据包大小匹配。为了获取更大的结果集,这减少了驱动程序和服务器之间发送/接收的总数据包数量。 为此,需要采取哪些步骤? 查找Oracle DB Server数据包大小 查找是否将Oracle DB Server设置为最大数据包大小 查找设置Oracle JDBC驱动程序的(ojdbc8.jar)数据包大小。 任何其他(Oracle)JDBC性能优化技巧将不胜感激。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.