Соединение Java / Tomcat и Oracle 10g - PullRequest
       22

Соединение Java / Tomcat и Oracle 10g

0 голосов
/ 26 октября 2011

Я новичок в соединении java и Oracle. Не могу установить соединение между службой java / tomcat и базой данных Oracle.

Я использую Java JDK 1.7 и версию Oracle:

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 в 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

Ответы [ 5 ]

1 голос
/ 26 октября 2011

Tomcat и все серверы приложений Java EE полностью игнорируют переменную среды CLASSPATH. То же самое для IDE. У меня нет ни на одной машине, которую я использую.

Вам также не следует изменять какие-либо сценарии для этого.

Каждый сервер приложений Java EE имеет иерархию загрузчиков классов.

Первым запустится загрузчик классов начальной загрузки.

Далее идет загрузчик классов серверов. Правильное место для этих файлов JAR - каталог Tomcat server / lib. Каталог / lib содержит все JAR-файлы, общие для всех развертываний. Они загружаются до запуска файлов WAR при запуске.

Для каждого развернутого файла WAR имеется загрузчик классов. После запуска загрузчика серверных классов Tomcat рассматривает все JAR-файлы, которые вы поместили в WEB-INF / lib, и все файлы .class, которые вы помещаете в WEB-INF / classes, как ваш проект CLASSPATH.

Как только вы научитесь работать с этим, следующая вещь - это узнать, как использовать поиск JNDI. Код, который вы разместили, не очень хорошая идея. Позвольте Tomcat управлять пулом соединений для вас.

1 голос
/ 26 октября 2011

Вам нужно установить classpath следующим образом:

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

classpath должен знать, какой jar должен использоваться, это рабочий драйвер, а тот, что с _g, предназначен для отладки.Использование подстановочного знака не работает для установки пути к классу Java.Чтобы избежать необходимости настройки classpath, вы можете просто скопировать файл ojdbc14.jar в каталог $tomcat.home/lib.

0 голосов
/ 24 апреля 2014

Вам необходимо включить файл ojdbc14.jar в сборку развертывания в вашем проекте. Использование затмения:

proj -> properties -> Deployment Assembly -> select / webContent -> Add -> JavaBuildPathEnteries -> Next -> ojdbc **. Jar -> finish.

0 голосов
/ 08 февраля 2013

Имя драйвера: worng.

Это должен быть oracle.jdbc.OracleDriver вместо того, что вы используете oracle.jdbc.driver.OracleDriver.

0 голосов
/ 26 октября 2011

Просто распечатайте e.printStackTrace(); и увидите, что произошло исключение погоды ...
если оно в Class.forName(), то это означает, что путь к классу установлен неправильно ... все хорошо, просто проверьте ... в классепуть

...