我是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.jar
和ojdbc14_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
答案 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 - >完。