在OAS 10g上通过JSP页面连接到Oracle数据库时出错

时间:2012-07-06 10:54:20

标签: database oracle jsp

我正在使用Oracle应用服务器10.1.2.0.2。我正在尝试使用jsp登录页面连接oracle数据库..稍后将重定向到表单。目前我只想将我的页面与数据库连接。

我的“connect.jsp”位于目录“C:\ DevSuiteHome2 \ forms \ j2ee \ formsapp \ formsweb”

我可以通过http://p---w0--4.lo-----a.com:8889/forms/helloworld.jsp [工作jsp文件]

访问jsp文件

connect.jsp的源代码:

<%@ page import="java.sql.*" %> <HTML> <HEAD> <TITLE>Simple JSP/Oracle Query Example</TITLE> </HEAD> <BODY>

<%

Class.forName("oracle.jdbc.OracleDriver");

Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@p---w0--4.lo---a.com:8889:xii", "i----er", "i----er");                         // @//machineName:port:SID, userid, password

%> </BODY> </HTML>

现在,当我尝试访问:http://p---w0--4.lo-----a.com:8889/forms/connect.jsp时,它会出现以下错误:

500内部服务器错误 java.sql.SQLException:Io异常:在oracle.jdbc的oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:174)的oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:137)中的数据包类型错误位于oracle.jdbc的oracle.jdbc.driver.PhysicalConnection。(PhysicalConnection.java:433)的oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:327)上的.driver.DatabaseError.throwSqlException(DatabaseError.java:286)。 .driver.T4CConnection。(T4CConnection.java:150)位于oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:31),位于java.sql的oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:571)位于_loginbox._check1._jspService(_check1.java:50)的java.sql.DriverManager.getConnection(DriverManager.java:171)中的.DriverManager.getConnection(DriverManager.java:512)[SRC:/LOGINBOX/check1.jsp:12 ]在com.orionserver [Oracle应用服务器容器for J2EE 10g(10.1.2.0.2)]。http.OrionHttpJspPage.service(OrionHttpJspPage.java:5 6)oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:350)at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:509)at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java) :413)at com.evermind的javax.servlet.http.HttpServlet.service(HttpServlet.java:853)[适用于J2EE 10g的Oracle应用服务器容器(10.1.2.0.2)]。server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher .com:824)在com.evermind [Oracle应用服务器容器for J2EE 10g(10.1.2.0.2)]。server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)com.evermind [Oracle Application Server Containers for J2EE 10g(10.1.2.0.2)]。server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830)在com.evermind [Oracle应用服务器容器for J2EE 10g(10.1.2.0.2)]。server.http。 com.evermind上的HttpRequestHandler.run(HttpRequestHandler.java:285)[适用于J2EE 10g的Oracle应用服务器容器(10.1.2.0.2)]。server.http.HttpRequ est.Handler.run(HttpRequestHandler.java:126)at com.evermind [Oracle应用服务器容器for J2EE 10g(10.1.2.0.2)]。util.ReleasableResourcePooledExecutor $ MyWorker.run(ReleasableResourcePooledExecutor.java:186),位于java.lang。 Thread.run(Thread.java:534)

您的回复将受到高度赞赏。我是初学者,所以请原谅一些新手问题

2 个答案:

答案 0 :(得分:0)

我认为这是你应该做的事情

<html>
   <head> 
      <title>Simple JSP/Oracle Query Example</title> 
   </head> 
   <body>
<%
     Class.forName("oracle.jdbc.OracleDriver");
     Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@//your_host_name_or_your_ip:1521/your_database_name", "user", "password");
     System.out.println("Is connection equal to null");
     System.out.println(conn == null);
%>
   </body>
</html>

您可以查看this以查找要使用的相应网址。 如果您还有问题,请告诉我。

答案 1 :(得分:0)

感谢您的回复,但这是我的错误。我作为参数传递了错误的主机。我上面的代码连接到Oracle数据库是正确的。