2009-08-24 94 views
3

我正在使用oracle 11g。我编写代码连接oracle数据库与Java 1.6,但我无法连接到它。当配置指导线以下:JDBC瘦Oracle 11g

我已经ojdbc6.jarorai18n.jarclass12.jar 我设置:

CLASS_PATH:

%ORACLE_HOME%\jlib\orai18n.jar;r;%Oracle_home%\jdbc\ojdbc6.jar 

之后,我运行示例Java代码连接到Oracle数据库,但我遇到这个错误如下:

C:\Program Files\Java\jdk1.6.0_11\bin>javac c:\JDBCVersion.java 
c:\JDBCVersion.java:2: package oracle.jdbc does not exist 
import oracle.jdbc.*; 
^ 
c:\JDBCVersion.java:3: package oracle.jdbc.pool does not exist 
import oracle.jdbc.pool.OracleDataSource; 
        ^
c:\JDBCVersion.java:8: cannot find symbol 
symbol : class OracleDataSource 
location: class JDBCVersion 
OracleDataSource ods = new OracleDataSource(); 
^ 
c:\JDBCVersion.java:8: cannot find symbol 
symbol : class OracleDataSource 
location: class JDBCVersion 
OracleDataSource ods = new OracleDataSource(); 
         ^
4 errors 

任何人都可以帮助我解决他的问题?

感谢, Sopolin

回答

1

我不知道你的意思在这里

Class_Path: %ORACLE_HOME%\jlib\orai18n.jar;%ORACLE_HOME%\oui\jlib\classes12.jar 
Path: %Oracle_home%\jdbc\ojdbc6.jar 

所有的罐子应该在CLASS_PATH。

您需要PATH上带有dll的目录。

+0

你能指导我配置这个问题吗?感谢 – Sopolin 2009-08-25 03:13:24

4

为了使用Oracle JDBC驱动程序,您必须具有ojdbc6.jar或CLASSPATH上的等效项。没有任何这些JAR要求在操作系统PATH变量中。

您可以从JDBC/UCP page on the Oracle Technology Network获取Oracle的JDBC驱动程序。

此外,如果CLASSPATH中已经有ojdbcX.jar,则不需要classes12.jar文件。简而言之,如果您使用针对11g数据库的Oracle Thin Driver for JDBC,则需要CLASSPATH中的ojdbc5.jar/ojdbc6.jar和orai18.jar。您需要OCI驱动程序的附加文件。

+0

你能指导我配置这个问题吗?感谢 – Sopolin 2009-08-25 03:21:44

1

我想知道你的问题是否是JDBC驱动程序JAR的混合。我不知道你在哪里,但你不应该同时拥有classes12.jar和ojdbc6.jar。第一个是JDK 1.2的旧版本;你应该删除它。如果您正在编译JDK 6,请使用ojdbc6.jar。

我还建议你使用java.sql接口,而不是使用特定于Oracle的静态类型来保持代码的通用性。这只是一个示例,但是您需要记住您的真实应用程序。

+0

我明白你告诉我,但我想指导我配置它。因为我对此没有任何经验。谢谢 – Sopolin 2009-08-25 03:12:18