我的机器上安装了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
我使用的是Oracle10,但问这个问题的最好方法是举个例子。
select *
from t1, t2
where t1.id = t2.id
and t1.otherID = (select max(otherID)
from t2
where id = THE ID FROM THE OUTER QUERY T1
)
我想你知道我想说什么了吧。我需要在子查询中引用t1,以便将其连接到t2的最大值。
我需要知道如何创建这样的查询。
“来自外部查
我在项目中使用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
我试着拿到触发我扳机的语句,但我找到了……在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_
我正在使用Java连接到Oracle10数据库。我想创建一个不带参数并返回很多行的存储过程(不要问为什么)。具体地说,在Java中,我希望能够通过以下内容获得这些数据:
ResultSet rs = stmt.executeQuery("call getChildless");
其中getChildless是查询:
SELECT objectid
FROM Object
WHERE objectid NOT IN (SELECT parent FROM subparts);
然而,我就是想不出如何从存储过程中获得输出。我在谷歌上搜索了一下,得到了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
我有以下相当古怪的行为:
取取器从数据库执行相当多的查询,并使用PreparedStatement来保持数据库之间的连接打开到查询。整个应用程序可以从主方法启动,也可以部署在tomcat中,然后通过web应用程序触发(而执行的代码在这两种情况下都保持不变)。
虽然通过main-maethod的本地执行会产生我所期望的数据,但是通过tomcat的执行不会。我已将错误归纳为以下几点:
/* Statement is a PreparedStatement which is initialized at
* the start of the execution and reused until