我有以下相当古怪的行为:
取取器从数据库执行相当多的查询,并使用PreparedStatement来保持数据库之间的连接打开到查询。整个应用程序可以从主方法启动,也可以部署在tomcat中,然后通过web应用程序触发(而执行的代码在这两种情况下都保持不变)。
虽然通过main-maethod的本地执行会产生我所期望的数据,但是通过tomcat的执行不会。我已将错误归纳为以下几点:
/* Statement is a PreparedStatement which is initialized at
* the start of the execution and reused until
我正在尝试从序列中获取生成的密钥。(使用Servlet和Oracle10)
以下是我的代码:
query ="insert into TABLE_NAME(COL1,COL2,COL3) values(sysdate,?,SEQ_NAME.nextval)";
PreparedStatement pstmt = con.prepareStatement(query,new String[]{"COL3"}); //Getting error on this line
pstmt.setString(1,Str2);
pstmt.executeUpdate();
我在项目中使用Oracle中一个名为LogMiner的工具。我在Windows 7 32位计算机上使用Oracle 10g。
为了启动日志挖掘器工具,我登录到sqlplus并执行以下查询:
//Query to create flat file
alter system set utl_file_dir='C:\oracle\product\10.2.0\logminer_dir' scope=spfile;
shutdown immediate
startup
show parameter utl_file_dir
SELECT SUPPLEMENTAL_LOG
我的机器上安装了oracle10和11客户端。当我转到命令行并输入TNSPING时,输出告诉我如下所示
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 16-OUT-2012 09:34:39
如何改变它?
我是一名数据存储开发人员,在将作业从旧版本的数据存储迁移到新版本时。我面临着下面提到的查询的问题。
SELECT 1
FROM DUAL
GROUP BY CUBE (1,1,1,1,1,1)
SQL在我的PROD服务器(Oracle10)中返回64行,值为1,并在DEV (Oracle12c)中显示以下错误。这两个表之间没有其他区别。
ORA-00979: Not a GROUP BY Expression
谢谢Vivekan
我试着拿到触发我扳机的语句,但我找到了……在oracle 8i中有一个提示,但现在不起作用了。
我在Oracle10和11g上。
我尝试使用BEFORE或AFTER触发器,并在v$session中使用SQL_ID或PREV_SQL_ID,查询如下:
select substr(e.program,1,20),sql_text into l_program, sql_text
from v$sql s, v$session e
where s.sql_id = e.sql_id
and e.status = 'ACTIVE'
and e.sid = sys_
我有一个运行在Windows7上的Delphi2006应用程序,它使用Oracle11客户端安装通过dbExpress连接到Oracle数据库。在第一次连接之后,我可以查询数据,一切都按预期进行。但是,当我断开连接然后重新连接时,我得到以下错误:
Exception EAccessViolation in module orageneric11.dll at 00450EB5.
Access violation at address 048A0EB5 in module 'orageneric11.dll'.
Read of address 00000038
使用Oracle
DECLARE
trn VARCHAR2(2) := 'DD';
cur SYS_REFCURSOR;
BEGIN
OPEN cur FOR
SELECT
TRUNC(some_date, trn),
NULL AS dummy_2,
COUNT( DISTINCT dummy_1 )
FROM
(SELECT SYSDATE AS some_date, ROWNUM AS dummy_1 FROM dual)
GROUP BY
TRUNC(some_date, trn);
EN
我正在用Oracle 11g开发一个自动化。我有以下查询,它在oracle 10g上运行良好,但不能在11上运行。
update(
select rirr.NUM_SERIE_ULT,
tri.T_USED_IMEI,
rirr.celular,
tri.MSISDN,
rirr.TRAFICO,
case when rirr.celular = tri.MSISDN then 'MISMO ABONADO'
when
为什么Oracle10 R2不允许在insert语句中调用函数时使用符号参数?
在我的应用程序中,我在insert语句中调用一个函数。如果使用符号方法传递参数,我会得到一个ORA-00907: Missing right parenthesis错误信息
INSERT INTO foo
(a,
b,
c)
VALUES (c,
F1(P1=>'1', P2=>'2', P3 => '3'),
e