草庐IT

java - 如何将 jar 文件包含到 Oracle 中的 Java 存储过程中?

我正在实现一个存储过程,现在需要能够将jar文件包含到我的存储过程中,这不属于JRE的标准部署。我怎样才能做到这一点?据我所知,Oracle9不可能...感谢您的帮助! 最佳答案 使用loadjava工具,它也接受jar文件:http://docs.oracle.com/cd/B19306_01/java.102/b14187/cheleven.htm#CACFHDJE另请参阅此相关问题(从那里复制上面的链接):SettingclasspathforaJavastoredprocedureinOracle

java - 在一个 Java 应用程序中使用多个 Oracle JDBC 驱动程序?

我想通过JDBC连接到两个不同的Oracle数据库(一个8.0.5.0.0和一个12c)。我确实有两个JDBC驱动程序,它们可以通过简单的“helloworld”应用程序单独并成功地连接到相应的数据库。下面,我将它们放在一个Java应用程序中,不幸的是它不再工作了(两个驱动程序都被加载)。我已阅读这篇文章:HandlemultipleJDBCdriversfromtheSAMEVENDOR.提到的选项1可能是可行的,但似乎有一个主要问题:OracleDataSource在旧的8驱动中似乎还没有,只是在以后的版本中引入了(12c版本的驱动中有)。关于如何使用一个Java应用程序和两个JD

java - 密封违规 : package oracle.net.ns 被密封

我正在尝试使用OracleSQLDeveloper连接到Oracle11gXE数据库。但是,我收到以下异常:java.lang.SecurityException:sealingviolation:packageoracle.jdbc.driverissealed我在网上搜索了答案,但没有找到解决方案。是什么原因造成的,我该如何解决? 最佳答案 来自Oracle的文档:KnownIssuesandLimitations:java.lang.SecurityException:Sealingviolationexception(ID6

java - Oracle JDBC 驱动程序语句缓存与 BoneCP 语句缓存?

我正在使用OracleJDBC驱动程序并评估BoneCP。两者都实现了语句缓存。我在问自己是否应该使用其中一个来进行语句缓存。你怎么看?每种方式的优缺点是什么? 最佳答案 作为BoneCP的作者,我可以填写我的部分:如果您忘记正确关闭语句,使用池缓存可以为您提供堆栈跟踪。如果您使用的是hibernate/springjdbc模板或其他一些托管连接,这无关紧要,因为它总是会为您关闭。语句缓存与每个连接相关联,因此如果您有100个连接并且每次都继续执行相同的语句,则每个连接都需要一段时间才能填满它的缓存。如果DB支持它,驱动程序可能会进

java - 如何创建 oracle.sql.ARRAY 对象?

这个问题和我原来的问题有关HowtoreturnanarrayfromJavatoPL/SQL?,但更具体。我一直在读OracleDatabaseJDBCDeveloper'sGuide和CreatingARRAYobjectsServer-SideInternalDriveroracle.jdbc.OracleConnectionoracle.jdbc.OracleDriver但我仍然没有写出可以使用创建ARRAY的最少代码ARRAYarray=oracle.jdbc.OracleConnection.createARRAY(sql_type_name,elements);按照Cre

java - Oracle 驱动程序内存泄漏 - Tomcat

我们使用的是tomcat-7.0.33。Spring3.0.1和JPA使用tomcatJNDI数据源。Oracle10g在后端使用ojdbc6.jar(最新)。当我们尝试取消部署应用程序时,某些Oracle类似乎正在泄漏。我在使用较旧的ojdbc14.jar驱动程序时看不到这一点,但我们无法使用这些驱动程序,因为我们正在迁移到需要较新驱动程序的Oracle11g。我猜这是Oracle驱动程序中的错误?我可以做些什么来清理这些资源吗?我试过关闭数据库连接池和其他东西都无济于事......不使用Tomcat的连接池会更好吗?我们宁愿让服务器连接到数据库,但如果需要,我们可以自己做...服务

Oracle 数据库嵌入式 JVM

我们如何确定Oracle数据库11g企业版11.2.0.2.0版64位(嵌入式JVM)支持哪个JRE版本任何建议将不胜感激 最佳答案 我找到了确定在Oracle数据库上使用哪个jvm版本的答案解决方法如下:如果您需要找出在您的Oracle服务器上安装了哪个java/jdk版本,您可以创建函数,然后直接从JDK检索java版本。首先创建函数...CREATEORREPLACEFUNCTIONget_java_property(propINVARCHAR2)RETURNVARCHAR2ISLANGUAGEJAVAname'java.la

java - 被事务 : @console:Oracle (INTELLIJ CLIENT) 锁定

我正在使用IntelliJIDEA14.1.4,最近我们将数据库连接到客户端并且它工作正常,直到最近我们开始出现错误[2015-09-2810:12:55]lockedbytransaction:@console:Oracle->@localhost现在我们无法执行任何交易,因为我们不断收到相同的错误。我们尝试用谷歌搜索错误,但找不到任何解决问题的方法。任何帮助将不胜感激!!! 最佳答案 我在之前运行的查询失败后发生了这种情况——使用PyCharm,而不是IntelliJ,但它是同一个JetBrains系统。我没有打开自动提交。由于

java - 在 JDBC for Oracle 中设置客户端信息

我有一个需要审核的Java应用程序(所以显然我需要一种可以通过应用程序名称识别该应用程序的方法)。我用谷歌搜索发现ojdbc14有方法.setClientInfo允许使用自定义名称注册应用程序,所以我试图让它工作但我收到以下错误:Exceptioninthread"main"java.lang.AbstractMethodError:oracle.jdbc.driver.T4CConnection.setClientInfo(Ljava/lang/String;Ljava/lang/String;)V我正在使用ojdbc14和oracle10gexpress。如果我不设置行:conne

java - 在 preparedStatement 中使用 oracle 的 to_date

我正在尝试使用preparedStatement中的to_date在oracle数据库中输入日期,但出现错误。代码片段:sql="selectIdentifierfrommetadatawherecontent_cdate>=to_date(?,'dd-mm-yyyy')andcontent_cdatedateToString方法返回如下值:2012-01-0112:00:00错误:[Oracle][ODBC][Ora]ORA-01861:literaldoesnotmatchformatstring请指教。 最佳答案 您应该使用正