小编Ale*_*ole的帖子

网络适​​配器无法建立连接 - Oracle 11g

我写了一个servlet程序,我希望它连接到我的Oracle数据库,但它给了我一个错误.我正在使用Eclipse Helios,Tomcat 6.0.37,Oracle 11g(11.2.0.1.0),ojdbc6.jar(在Server项目的运行配置中添加).我能够通过SQL Plus接口连接到数据库,甚至可以从Eclipse的数据库开发角度启动连接.但是,当我尝试通过我的servlet连接时,我收到了错误.对于我的servlet,我使用端口号9090,对于数据库使用默认值1521.

java.sql.SQLException: The Network Adapter could not establish the connection
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:412)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:531)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:221)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:503)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at com.android.collegenotificationsystem.RegistrationServlet.doGet(RegistrationServlet.java:43)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Unknown Source)
Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connection
    at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:359)
    at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:422)
    at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:672)
    at oracle.net.ns.NSProtocol.connect(NSProtocol.java:237) …
Run Code Online (Sandbox Code Playgroud)

sql oracle jdbc tomcat6 oracle11g

1
推荐指数
2
解决办法
10万
查看次数

为什么我可以使用SQL Developer登录而不能使用SQL*Plus登录?

我正在尝试从SQL*Plus连接并获取错误ORA-12154,但我可以从SQL Developer连接而没有任何错误.我可以tnsping而且也lsnrctl没关系,听众已经开始运行了.

我可以syssqlplus sys as sysdba工作正常一样连接; 但我sqlplus username和另一个用户,当我输入密码时,它给了我:

ORA-12154: TNS:could not resolve the connect identifier specified
Run Code Online (Sandbox Code Playgroud)

oracle

1
推荐指数
1
解决办法
2258
查看次数

清除 DBMS_SQL.VARCHAR2S 变量

我们如何清除DBMS_SQL.VARCHAR2S变量以便可以重用它?声明如下:

DECLARE
   l_updt_stmnt            DBMS_SQL.VARCHAR2S;

BEGIN
   Open LOOP
    l_updt_stmnt(1) := 'some dynamic sql statements';
    <parse the above statement>
   Close LOOP;

EXCEPTION
WHEN OTHERS THEN
  <Print statement>
END;
Run Code Online (Sandbox Code Playgroud)

我只是想l_updt_stmnt多次重用生成动态sql语句。

任何人都可以帮忙吗?

oracle plsql

1
推荐指数
1
解决办法
3841
查看次数

在程序包启动时自动执行代码

我有一个考试,并有一个规格,我不知道这意味着什么.请给我一个提示或给我一个简短的例子.

规范:自动执行包启动时的代码:

满足条件:编写的代码自动初始化变量而无需用户显式调用.

我不确定这是否被问到,但是我必须像这样调用包:PACKAGE_NAME.function_name所以没有值的调用?那是什么问题?

如果是这样,你不需要进一步帮助我,因为我知道该怎么做.

oracle plsql packages

1
推荐指数
1
解决办法
907
查看次数

在Oracle触发器的同一表中插入后如何更新?

我有一个包含X,Y和Z列的表。我想在插入或更新X和Y时设置Z,所以Z = X * Y,使用触发器。

create or replace trigger tr_tab
after insert
on tab
for each row
begin
update tab
set z=x*y;
end;
/
Run Code Online (Sandbox Code Playgroud)

但是插入后出现错误。

oracle triggers

1
推荐指数
1
解决办法
2万
查看次数

更新Oracle中CLOB列中的xml标记

我在Oracle 11g的CLOB列中有这个xml值:

<Energy xmlns="http://euroconsumers.org/notifications/2009/01/notification">    
    <Gender>M</Gender>
    <FirstName>MAR</FirstName>
    <Name>VAN HALL</Name>
    <Email/><Telephone>000000000</Telephone>
    <InsertDate>2013-10-09</InsertDate>
</Energy>
Run Code Online (Sandbox Code Playgroud)

我想为几行更新InserDate的值.

我正在使用下面的sql命令:

update tmp_tab_noemail_test p1 
set p1.sce_msg = updatexml(xmltype(p1.sce_msg),
                 '//Energy/InsertDate/text()','Not Valid').getClobVal()
Run Code Online (Sandbox Code Playgroud)

但是没有用.

您是否有一些想法只修改InsertDate的xml标记的值?

谢谢你的进步

sql oracle updatexml xmltype oracle11g

1
推荐指数
1
解决办法
9694
查看次数

Oracle当前日期到小时

我想用当前时间得到日期.

使用trunc(sysdate)给了我们类似的东西2017-06-16 00:00:00

但是,我也想要当前时间:

2017-06-16 10:00:00
2017-06-16 11:00:00
Run Code Online (Sandbox Code Playgroud)

等等.

我希望它是一个日期(而不是char),因为我需要它与日期列进行比较.

date_column <= day_with_hour
Run Code Online (Sandbox Code Playgroud)

sql oracle sysdate

1
推荐指数
1
解决办法
785
查看次数

在PL / SQL变量中循环不是游标

我正在尝试运行以下循环:

DECLARE
v_banknumber varchar2(9) := '123456789';
v_counter number := 9;
v_result number;
begin
for i in v_banknumber 
loop
    v_result := v_counter * TO_NUMBER(i) + v_result;
    v_counter := v_counter - 1;
 end loop;
 end;
Run Code Online (Sandbox Code Playgroud)

我在第2行出现错误:

Error report -
ORA-06550: line 6, column 10:
PLS-00456: item 'V_BANKNUMBER' is not a cursor
ORA-06550: line 6, column 1:
PL/SQL: Statement ignored
06550. 00000 -  "line %s, column %s:\n%s"
*Cause:    Usually a PL/SQL compilation error.
*Action:
Run Code Online (Sandbox Code Playgroud)

如果我读得很好,似乎应该可以。在座的任何人都可以解释我为什么不起作用?

必须将第一个数字乘以9,第二个数字乘以8,第三个数字乘以7,依此类推,并将其总和保存在结果变量中。

oracle plsql

1
推荐指数
1
解决办法
521
查看次数

无法识别文件格式_ *

我需要处理一个文件并且它正在工作,但是我需要更改文件模式。这是需要的:someText_XYZ_*.dat

我添加了星号,因此_接受之后的所有内容,但是不接受具有该名称的文件:someText_XYZ_abc1.dat

模式存储在Oracle表中。当我运行应用程序时,将读取表,并使用文件模式来匹配文件名(可能在Apache Camel中)。当前有效的示例是:.*.csv[0-9]{7}.abc.*.csv

我的新模式有什么问题?

regex

1
推荐指数
1
解决办法
62
查看次数

如何以小写形式显示列名称?

表结构:

SQL>DESCRIBE tipsdb;

 Name                       Null?               Type
 ----------------------------------------- -------- ----------------------------
 USERNAME                                           CHAR(20)

 MAC                                                CHAR(20)

 PASSWORD                                           CHAR(50)

SQL>
Run Code Online (Sandbox Code Playgroud)

完整的表格输出:

SQL> select * from tipsdb;


USERNAME
------------------------------------------------------------

MAC

------------------------------------------------------------

PASSWORD
--------------------------------------------------------------------------------

arun

aabbccddeeff

whopee
Run Code Online (Sandbox Code Playgroud)

电流输出:

SQL> select PASSWORD as user_password from tipsdb;

USER_PASSWORD

--------------------------------------------------------------------------------
whopee
Run Code Online (Sandbox Code Playgroud)

预期输出:

SQL> select PASSWORD as user_password from tipsdb;

user_password
----------------------
whopee
Run Code Online (Sandbox Code Playgroud)

在上面的查询中,我希望该user_password列以小写而不是大写显示。

oracle sqlplus

0
推荐指数
1
解决办法
6312
查看次数

标签 统计

oracle ×9

plsql ×3

sql ×3

oracle11g ×2

jdbc ×1

packages ×1

regex ×1

sqlplus ×1

sysdate ×1

tomcat6 ×1

triggers ×1

updatexml ×1

xmltype ×1