Java / Tomcat和Oracle 10g连接

时间:2011-10-26 09:21:40

标签: java oracle oracle10g odbc database-connection

我是java和Oracle连接的新手我无法建立从java / tomcat服务到Oracle数据库的连接。

我正在使用Java JDK 1.7和Oracle Version:

Oracle Database 10g Express Edition Release 10.2.0.1.0 - Product 
PL/SQL Release 10.2.0.1.0 - Production 
CORE 10.2.0.1.0 Production 
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production 
NLSRTL Version 10.2.0.1.0 - Production 

我在环境变量中添加了一个CLASSPATH(Windows Server 2003) C:\oraclexe\app\oracle\product\10.2.0\server\jdbc\lib\*

我还将JAVA bin添加到PATH和JAVA_HOME(由TOMCAT使用)

在此文件夹中,只有两个文件:ojdbc14.jarojdbc14_g.jar

我的java代码:

       import java.sql.*;
       ....
       ....

                        try
                        {                              
                                System.out.println("0");
                                Class.forName("oracle.jdbc.driver.OracleDriver");
                                System.out.println("1");
                                Connection conn = DriverManager.getConnection(
                                  "jdbc:oracle:thin:@//127.0.0.1:1521/xe",
                                  "username", "password");
                                System.out.println("2");                       
                        }
                        catch (Exception e)
                        {
                                //e.printStackTrace();
                            System.out.println("exc");
                        }

输出:(似乎他在Class.forName

上抛出异常
0
exc

5 个答案:

答案 0 :(得分:1)

您需要按如下方式设置类路径:

C:\oraclexe\app\oracle\product\10.2.0\server\jdbc\lib\ojdbc14.jar

类路径需要知道要使用的jar,这是生产驱动程序,带有_g的驱动程序用于调试目的。使用通配符不适用于设置java类路径。为了避免配置类路径,您只需将ojdbc14.jar复制到$tomcat.home/lib目录即可。

答案 1 :(得分:1)

Tomcat和所有Java EE应用服务器完全忽略您的CLASSPATH环境变量。 IDE也是如此。在我使用的任何机器上都没有。

您也不应该改变任何脚本来执行此操作。

每个Java EE应用服务器都有类加载器的层次结构。

第一个运行的是bootstrap类加载器。

接下来是服务器类加载器。这些JAR的正确位置是Tomcat服务器/ lib目录。 / lib目录包含所有部署通用的所有JAR。它们在启动时在WAR文件之前加载。

部署了每个WAR文件的类加载器。在运行服务器类加载器之后,Tomcat会将您放在WEB-INF / lib中的所有JAR以及放在WEB-INF / classes下的所有.class文件视为项目CLASSPATH。

一旦你开始工作,下一步就是学习如何使用JNDI查找。您发布的代码不是一个好主意。让Tomcat为您管理连接池。

答案 2 :(得分:0)

只需打印e.printStackTrace();即可查看天气异常...
如果它在Class.forName()那么这意味着类路径设置不正确... 每件事都缝得很好..只需检查......课程路径

答案 3 :(得分:0)

驱动程序名称已经过了。

它必须是oracle.jdbc.OracleDriver而不是你正在使用的oracle.jdbc.driver.OracleDriver。

答案 4 :(得分:0)

您需要在项目的Deployment Assembly中包含ojdbc14.jar文件。使用eclipse:

  

proj - >属性 - >部署组件 - > select / webContent - >添加 - > JavaBuildPathEnteries - >下一步 - > ojdbc **。jar - >完。