Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Hibernate Spring, Нет Connection 
V
    Опции темы
Bandit
Дата 20.4.2008, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 27.11.2007
Где: Минск

Репутация: нет
Всего: нет



Юзаю Hibernate и Spring.

Проблема: при старте Tomcat(-a) в логи вываливает такое:

Код

20.04.2008 11:54:44 org.springframework.orm.hibernate3.LocalSessionFactoryBean buildSessionFactory
INFO: Building new Hibernate SessionFactory
20.04.2008 11:54:44 org.hibernate.connection.ConnectionProviderFactory newConnectionProvider
INFO: Initializing connection provider: org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider
20.04.2008 11:54:44 org.hibernate.util.JDBCExceptionReporter logExceptions
WARNING: SQL Error: 0, SQLState: null
20.04.2008 11:54:44 org.hibernate.util.JDBCExceptionReporter logExceptions
SEVERE: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
The Connection descriptor used by the client was:
localhost:1521:Oracle

20.04.2008 11:54:44 org.hibernate.cfg.SettingsFactory buildSettings
WARNING: Could not obtain connection metadata
java.sql.SQLException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
The Connection descriptor used by the client was:
localhost:1521:Oracle

    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:280)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:319)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:344)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:148)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:545)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:281)
    at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:269)
    at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:253)
    at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:234)
    at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:82)


Если я правильно понимаю, то это проблема с url коннекта к БД.
БД - Oracle Database 10g Experss Edition

applicationContext.xml
Код

....

    <bean id="dataSourceHibernate" 
     class="org.springframework.jdbc.datasource.DriverManagerDataSource"
     singleton="true">
        <property name="driverClassName">
            <value>oracle.jdbc.driver.OracleDriver</value>
        </property>
        <property name="url">
            <value>jdbc:oracle:thin:@localhost:1521:xe</value> 
           [color=red] <!-- jdbc:oracle:thin:@localhost:1521:xe    jdbc:oracle:thin:@localhost:1521:Oracle  пробовал подставить-->[/color]
        </property>
        <property name="username">
         <value>bandit</value>
        </property>
        <property name="password">
         <value>bandit</value>
        </property>
    </bean>
    
    <bean id="sessionFactory" 
     class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
     <property name="dataSource">
         <ref bean="dataSourceHibernate"/>
     </property>
     <property name="mappingResources">
            <list>
                <value>by/testapp/model/News.hbm.xml</value>
            </list>
     </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">
                    org.hibernate.dialect.Oracle10gDialect
                </prop>
                <prop key="hibernate.hbm2ddl.auto">
                 update
                </prop>
            </props>
        </property>
    </bean>
    
    <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory">
            <ref local="sessionFactory"/>
        </property>
    </bean>

    <bean id="hibernateNewsDAO" class="by.testapp.database.dao.HibernateNewsDAO"
        singleton="true">
        <property name="sessionFactory">
            <ref local="sessionFactory"/>
        </property>
    </bean>
    
    <bean name="/news" 
        class="by.testapp.presentation.action.NewsAction" 
        singleton="false"> 
        <property name="newsDAO">    
         <ref bean="hibernateNewsDAO"/>
        </property> 
    </bean>

....


Интересно, что при юзании этого url под jdbc все чудесно коннектится. Помогите пожалуйста. 
PM MAIL   Вверх
Kangaroo
Дата 20.4.2008, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: 14
Всего: 104



Цитата(Bandit @  20.4.2008,  12:19 Найти цитируемый пост)
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

Нету базы с таким СИДОМ.


--------------------
Lost....
PM MAIL MSN   Вверх
Bandit
Дата 20.4.2008, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 27.11.2007
Где: Минск

Репутация: нет
Всего: нет



Kangaroo,  спасибо за внимание к моей проблеме... 
Поставил как и раньше : 

<property name="url">
            <value>jdbc:oracle:thin:@localhost:1521:xe </value>  
  </property>

до этого логи были с jdbc:oracle:thin:@localhost:1521:Oracle

при старте выдало:

Код

INFO: Initializing connection provider: org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider
20.04.2008 13:07:38 org.hibernate.util.JDBCExceptionReporter logExceptions
WARNING: SQL Error: 0, SQLState: null
20.04.2008 13:07:38 org.hibernate.util.JDBCExceptionReporter logExceptions
SEVERE: Listener refused the connection with the following error:
ORA-12519, TNS:no appropriate service handler found
The Connection descriptor used by the client was:
localhost:1521:xe

20.04.2008 13:07:38 org.hibernate.cfg.SettingsFactory buildSettings
WARNING: Could not obtain connection metadata
java.sql.SQLException: Listener refused the connection with the following error:
ORA-12519, TNS:no appropriate service handler found
The Connection descriptor used by the client was:
localhost:1521:xe

    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:280)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:319)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:344)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:148)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:545)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:281)
    at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:269)
    at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:253)
    at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:234)
    at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:82)


Может ли быть проблема в выборе диалекта БД?

Это сообщение отредактировал(а) Bandit - 20.4.2008, 13:48
PM MAIL   Вверх
Bandit
Дата 20.4.2008, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 27.11.2007
Где: Минск

Репутация: нет
Всего: нет



Попробовал сделать так:

Код

    <!--
    <bean id="dataSourceHibernate" 
     class="org.springframework.jdbc.datasource.DriverManagerDataSource"
     singleton="true">
        <property name="driverClassName">
            <value>oracle.jdbc.driver.OracleDriver</value>
        </property>
        <property name="url">
            <value>jdbc:oracle:thin:@localhost:1521:XE</value> 
            
        </property>
        <property name="username">
         <value>bandit</value>
        </property>
        <property name="password">
         <value>bandit</value>
        </property>
    </bean>
    -->
    <bean id="sessionFactory" 
     class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
     <!-- 
     <property name="dataSource">
         <ref local="dataSourceHibernate"/>
     </property> -->
     <property name="mappingResources">
            <list>
                <value>by/epam/testapp/model/News.hbm.xml</value>
            </list>
     </property>
        <property name="hibernateProperties">
            <props>
             <prop key="connection.driver_class">oracle.jdbc.driver.OracleDriver</prop>
                <prop key="connection.url">jdbc:oracle:thin:@localhost:1521:xe</prop>
                <prop key="connection.username">bandit</prop>
                <prop key="connection.password">bandit</prop>
                <prop key="hibernate.dialect">
                    org.hibernate.dialect.Oracle10gDialect
                </prop>
                <prop key="hibernate.hbm2ddl.auto">
                 update
                </prop>
            </props>
        </property>
    </bean>
    
    <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory">
            <ref local="sessionFactory"/>
        </property>
    </bean>
    
    <bean id="hibernateNewsDAO" class="by.epam.testapp.database.dao.HibernateNewsDAO"
        singleton="true">
        <property name="sessionFactory">
            <ref local="sessionFactory"/>
        </property>
    </bean>
    
    <bean name="/news" 
        class="by.epam.testapp.presentation.action.NewsAction" 
        singleton="false"> 
        <property name="newsDAO">    
         <ref bean="hibernateNewsDAO"/>    <!-- jdbcNewsDAO hibernateNewsDAO -->
        </property> 
    </bean>


при старте Tomcat выдало: 
Код


INFO: Default entity-mode: pojo
20.04.2008 13:55:34 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Named query checking : enabled
20.04.2008 13:55:34 org.hibernate.impl.SessionFactoryImpl <init>
INFO: building session factory
20.04.2008 13:55:34 org.hibernate.impl.SessionFactoryObjectFactory addInstance
INFO: Not binding factory to JNDI, no JNDI name configured
20.04.2008 13:55:34 org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: Running hbm2ddl schema update
20.04.2008 13:55:34 org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: fetching database metadata
20.04.2008 13:55:34 org.hibernate.tool.hbm2ddl.SchemaUpdate execute
SEVERE: could not complete schema update
java.lang.UnsupportedOperationException: The user must supply a JDBC connection
    at org.hibernate.connection.UserSuppliedConnectionProvider.getConnection(UserSuppliedConnectionProvider.java:30)
    at org.hibernate.tool.hbm2ddl.SuppliedConnectionProviderConnectionHelper.prepare(SuppliedConnectionProviderConnectionHelper.java:27)
    at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:127)
    at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:314)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1294)
    at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:816)
    at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:734)


что это такое???
PM MAIL   Вверх
v2v
Дата 20.4.2008, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: 9
Всего: 56



где  твой hibernate.cfg.xml  (hibernate.properties) ?

Это сообщение отредактировал(а) v2v - 20.4.2008, 14:30


--------------------
PM   Вверх
Bandit
Дата 20.4.2008, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 27.11.2007
Где: Минск

Репутация: нет
Всего: нет



Для конфигурации hibernate я использую Spring. Поэтому можно обойтись и без hibernate.cfg.xml или *.properties,т.е. все зашивается в bean

Если я делаю, что то не так, то поправьте меня.

Это сообщение отредактировал(а) Bandit - 20.4.2008, 14:46
PM MAIL   Вверх
v2v
Дата 20.4.2008, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: 9
Всего: 56



тогда посмотри статью про интеграцию hibernate и spring , а то твой конфиг немного отличается от стандарта.


--------------------
PM   Вверх
Bandit
Дата 20.4.2008, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 27.11.2007
Где: Минск

Репутация: нет
Всего: нет



v2v спасибо за ссылку!  smile  Буду читать...

Вопрос пока остается открытым smile
PM MAIL   Вверх
Bandit
Дата 21.4.2008, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 27.11.2007
Где: Минск

Репутация: нет
Всего: нет



Путем долгих изысканий в интернете нашел ответ...   smile 

В БД которую я использую прописываем под администратором: ALTER SYSTEM SET PROCESSES=150 SCOPE=SPFILE;

И все работает как часы.  smile 

Благодарю всех за отклики  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0735 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.