Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Oracle + Tomcat / 9 сообщений из 9, страница 1 из 1
26.04.2006, 11:02
    #33690874
wind2005
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle + Tomcat
Народ помогите разобраться с проблемкой.
Ну жно в Tomcat 5.0.28 настроить DataSource на Oracle 10g.

Вот это server.xml
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<Context>   
<Resource
name="oracle-10g"
auth="Container"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@127.0.0.1:1521:XE"
username="wind"
password="wind"
connectionProperties="SetBigStringTryClob=true"
maxActive="25"
maxIdle="5"
maxWait="10000"
/>
</Context>    

Вот это в web.xml приложения
Код: plaintext
1.
2.
3.
4.
5.
<resource-ref>
<res-ref-name>oracle-10g</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

Вот так пытаюсь из сервлета
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
 public   void  doGet(HttpServletRequest request,
                  HttpServletResponse response)
         throws  IOException, ServletException
{
    Context env =  null ;
     try  {
        env = (Context)  new  InitialContext().lookup("java:comp/env");
        pool = (DataSource) env.lookup("oracle-10g");
         if (pool ==  null )
         throw   new  Exception("OracleXE неизвестный источник");
    }  catch  (Exception e){
        System.out.println(e);
    }
     if  (pool !=  null )
    {
        System.out.println("Соединение может происходить настройка найдена");
        Connect();
    }

}

     private   void  Connect() {
        Connection conn =  null ;
                Statement stmp =  null ;
                ResultSet rs =  null ;
                ResultSetMetaData rsm = null ;
                String sql = "select * from dual";

                     try  {
                        conn = pool.getConnection();
                    }  catch  (SQLException e) {
                        e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
                    }
         try {
                    stmp = conn.createStatement();
                    rs = stmp.executeQuery(sql);
                    rsm = rs.getMetaData();
                     int  colCount = rsm.getColumnCount();
        } catch  (SQLException e)
        {
            e.printStackTrace();
        }

    }
В результате чего получаю ошибку
Код: plaintext
1.
2.
 1 . Cannot create JDBC driver of  class  ''  for  connect URL 'null'
 2 . Caused by: java.sql.SQLException: No suitable driver
Подскажите плиз как с этим бороться!
...
Рейтинг: 0 / 0
26.04.2006, 11:22
    #33690964
ChameLe0n
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle + Tomcat
Была похожая проблема на tomcat 5.5.12 + postgres. насколько я понял что-то неправильно было с <resource-ref>. Проблема решилась удаление датасорса из server.xml и его созданием в самом приложении.
...
Рейтинг: 0 / 0
26.04.2006, 11:27
    #33690989
wind2005
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle + Tomcat
А можно по пожробнее
...
Рейтинг: 0 / 0
26.04.2006, 11:49
    #33691081
ChameLe0n
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle + Tomcat
Про источник проблемы точнее не скажу.

По поводу подключени датасорса. В доках на томкат написано что есть 2 варианта подключения датасорсев.
1) Сделать ресурс в server.xml и в кажом приложении сделать на него ссылку. Этот вариант не заработал.
2) Сделать в каждом приложении свой датасорс. Естественно его нужно выкосить из server.xml и удалить ссылку в web.xml. Я создавал в датасорс c помощью приложения admin. В нем tomcat server->service->host->твое приложение->resources->datasouces.
...
Рейтинг: 0 / 0
26.04.2006, 11:55
    #33691104
ChameLe0n
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle + Tomcat
Вот здесь можно почитать подробнее:

http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource-examples-howto.html
...
Рейтинг: 0 / 0
26.04.2006, 12:47
    #33691352
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle + Tomcat
wind2005
Ну жно в Tomcat 5.0.28 настроить DataSource на Oracle 10g.
...
В результате чего получаю ошибку
Код: plaintext
1.
2.
 1 . Cannot create JDBC driver of  class  ''  for  connect URL 'null'
 2 . Caused by: java.sql.SQLException: No suitable driver
Подскажите плиз как с этим бороться!
Драйвер положил в $TOMCAT_HOME/common/lib? И еще, в Томкате но 5.5 версии описание было чуть другое:
http://confluence.atlassian.com/display/DOC/Deploy+against+an+Oracle+database
...
Рейтинг: 0 / 0
26.04.2006, 13:11
    #33691468
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle + Tomcat
Denis PopovИ еще, в Томкате н о 5.5 версии
в Томкате до 5.5 версии, т.е. раньше.
...
Рейтинг: 0 / 0
26.04.2006, 15:22
    #33692078
Oracle + Tomcat
wind2005Вот это server.xml
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<Context>   
<Resource
name="oracle-10g"
auth="Container"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@127.0.0.1:1521:XE"
username="wind"
password="wind"
connectionProperties="SetBigStringTryClob=true"
maxActive="25"
maxIdle="5"
maxWait="10000"
/>
</Context>    

Для драйвера 10g лучше в context.xml прописать так ( без Apache DBCP ):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<Resource name="oracle-10g" 
              auth="Container"
              type="oracle.jdbc.pool.OracleDataSource"
              factory="oracle.jdbc.pool.OracleDataSourceFactory"
                
              url="jdbc:oracle:thin:@127.0.0.1:1521:XE"
              user="wind"
              password="wind"

              connectionProperties="SetBigStringTryClob=true"

              connectionCachingEnabled="true"
              connectionCacheProperties="MinLimit=1, MaxLimit=5, InitialLimit=1, AbandonedConnectionTimeout=300, ValidateConnection=true, TimeToLiveTimeout=300, InactivityTimeout=300"
/>
Ну и про то, что JDBC-драйвер нужно положить в common/lib уже сказали.
...
Рейтинг: 0 / 0
27.04.2006, 10:31
    #33693519
wind2005
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle + Tomcat
Огромное спасибо последний пост помог.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Oracle + Tomcat / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]