jjzjj

java - 如何获取 Oracle SQL 查询中错误的位置?

如何获取查询中错误的位置?我需要在导致错误的查询字符串中获取位置,就像sqlplus那样:SQL>insertintotbl(data)values('12345')2/insertintotbl(data)values('12345')*ERRORatline1:ORA-12899:valuetoolargeforcolumn"schmnm"."tbl"."data"(actual:5,maximum:3)我该怎么做? 最佳答案 当我几乎失去希望时,经过一番胡说八道后,我找到了(感谢Google中正确的搜索字符串)以下链接:htt

java - 从 PL/SQL 调用/使用 JMS

是否可以从PL/SQL调用/使用JAVA消息服务(JMS)?我知道我们可以从pl/SQL调用java,但是调用java不同于调用JMS队列或JMS主题,因为JMS依赖于JNDI资源命名,当我们使用基于JNDI的资源时,我们首先必须将它们部署在一些然后使用J2EE容器。所以调用JMS总是涉及部署在一些J2EE容器上,然后利用它的功能。回到我之前提到的问题,我想从PL/SQL使用JMS以及它如何处理部署和基于JNDI的资源……? 最佳答案 您的问题中有两个问题需要单独解决:JNDI不,调用JMS服务不依赖于JNDI资源,也不需要将JMS

java - 是否有可能获得在数据库包中声明的常量值? (SQL 或 Java)

我在Oracle数据库中有一些包。它们包含存储过程、函数和常量。我可以使用JavaCallableStatement在Java中调用函数。另外,我可以执行一条SQL语句,如“selectpackage1.function1(value1)fromdual;”。但是我找不到如何在Java中获取包中声明的常量的值。例如:PACKAGEPackage1ASA_CONSTANTCONSTANTVARCHAR2:='Constantvalue';ENDPackage1;谢谢。 最佳答案 您可以尝试在CallableStatement中使用匿名

java - 在带有 Java/JDBC 的 Oracle PL/SQL 中使用游标并获取结果

我有一个这样构造的PL/SQL查询:DECLAREaNUMBER;BNUMBER;CURSORcursorIS(SOMESELECTQUERY);BEGINOPENcursor;LOOPSOMESTUFF;ENDLOOP;CLOSEcursor;END如何使用jdbc从Java代码运行此查询并获取结果集?我试过在不使用游标的情况下运行查询,并且它运行正常。我想不出在Java代码中执行此操作的方法。如果我直接在oracle客户端上运行查询,它就没有问题。所以查询没有问题。附言由于某些限制,我不想将代码存储为存储过程并调用它。 最佳答案

java - Oracle 10g 声称包体有错误但实际上没有

我的oracle实例上有几个包。当我从头开始重新创建我的数据库时,我得到了零个无效对象,并且没有来自liquibase的警告。然后,当我调用一个包方法时,像这样:newSimpleJdbcCall(jdbcTemplate).withCatalogName(packageName).withProcedureName(storedProcedureName).execute(parameterMap);它给我以下错误:org.springframework.jdbc.UncategorizedSQLException:CallableStatementCallback;uncatego

java - JPA 条件生成器 : How to pass ArrayList to Oracle function?

我有一个接受POINTS%ROWTYPE表的Oracle函数。我想使用CriteriaBuilder类从JPA调用此函数,该类具有数据库函数。当我尝试构建查询时,它死了,提示ArrayLists不是该函数的有效查询参数。如何将JPA中的ArrayList传递给Oracle函数?Oracle函数签名:CREATEORREPLACEFUNCTIONLOCATION_CONTAINS(LATITUDE_ININDOUBLEPRECISION,LONGITUDE_ININDOUBLEPRECISION,pointsINtypes_pkg.point_array,numPointsININTEG

PLSQL导入dmp文件完整步骤

登录SYS创建临时表空间/*创建临时表空间*/createtemporarytablespace表空间名tempfile'表空间地址'size100mautoextendonnext50mmaxsize20480mextentmanagementlocal;tablespace---临时表空间名(可随意命名)tempfile:---临时表空间数据文件存放路径(文件名可随意命名)SIZE:---起初设置为100Mautoextendon---自动扩展next---文件满了之后,一次扩展50mmaxsize---表空间最大为20480mextentmanagementlocal---表空间本地管理

java - Oracle ORA-02089 与 Java

尝试从Java调用PL/SQL存储过程时出现以下错误:ORA-02089:COMMITisnotallowedinasubordinatesession它在Oracle中测试良好。有人对这个有经验么? 最佳答案 试试这个方法;更改数据源以使用Non-XA(并勾选“SupportsGlobal事务”和“模拟两阶段提交”按钮)从您的代码中删除COMMIT。使用“PRAGMAAUTONOMOUS_TRANSACTION”。这将创建一个允许使用commit.For的单独事务示例:CREATEPROCEDUREXXXASPRAGMAAUTON

java - 货币计算,Java 和 Oracle/PL SQL 的比较

伙计们,您能否就Oracle/PLSQL和Java在处理货币计算时的优缺点进行很好的比较。如果您要开发一个处理大量金钱计算的应用程序,您会使用两者中的哪一个?为什么?这个问题不是要引发oracle/plsql和java爱好者之间的争论,我只是想知道什么是这种需求的最佳实践或标准方法,以及背后的原因。场景是:数据将来自数据库(Oracle10g最低)。该程序将根据聚合数据(100k-1M)记录计算并生成发票业务规则非常复杂业务规则可能每月至少更改一次计算中会用到几个引用表程序将每天运行一次提前致谢。 最佳答案 这些标准肯定有利于使用P

PLSQL函数将IPv4转换为IPv6

寻找PL\SQL(OracleEnv。)转换功能,该功能除字符串作为输入(IPv4格式)并返回IPv6格式,例如:发送-10.85.79.96将返回0:0:0:0:0:FFFF:A55:4F60谢谢您的帮助。看答案您可以使用这组功能:FUNCTIONUncompressIpV6(IpINVARCHAR2)RETURNVARCHAR2DETERMINISTICISIpFullVARCHAR2(40);lenINTEGER:=7;BEGINIFREGEXP_LIKE(Ip,'::')THENIpFull:=REGEXP_REPLACE(REGEXP_REPLACE(Ip,'^::','0::'),