質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.48%

  • Java

    14073questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Oracle

    612questions

    Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

Could not determine Hibernate dialect for database name [Oracle]!

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 850

fbbkenji

score 3

はじめまして。
早速ですが、oracleDBに接続で出来なくなり、
困っております。

今までは、tomcatプロジェクトのデータソース設定を使用して、接続が出来ていたのですが、
最近になって、oracleDBのバージョンが変わったのか、
以下の例外が発生し、接続することが出来なくなりました。

org.codehaus.groovy.grails.orm.hibernate.exceptions.CouldNotDetermineHibernateDialectException: Could not determine Hibernate dialect for database name [Oracle]!

データソース設定に何かを設定する必要があるのでしょうか。

私なりに調べてみて、
データソース設定に、以下のパラメータを追加してみたのですが、
症状は改善されませんでした。
      <parameter>
        <name>dialect</name>
        <value>org.hibernate.dialect.Oracle10gDialect</value>
      </parameter>

対応方法をご存知の方がいらっしゃいましたら、よろしくお願い致します。

以上です。

2015/08/06 15:38 例外追記


2015-08-06 13:36:33 StandardContext[/welcome_board]クラス org.codehaus.groovy.grails.web.context.GrailsContextLoaderListener のリスナインスタンスにコンテキスト破棄イベントを送信中の例外です
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'messageSource': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager': Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory': Cannot resolve reference to bean 'hibernateProperties' while setting bean property 'hibernateProperties'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateProperties': Cannot resolve reference to bean 'dialectDetector' while setting bean property 'properties' with key [hibernate.dialect]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dialectDetector': Invocation of init method failed; nested exception is org.codehaus.groovy.grails.orm.hibernate.exceptions.CouldNotDetermineHibernateDialectException: Could not determine Hibernate dialect for database name [Oracle]!
    at java.security.AccessController.doPrivileged(Native Method)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3831)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4323)
    at org.apache.catalina.core.StandardHostDeployer.start(StandardHostDeployer.java:830)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:991)
    at org.jstripe.tomcat.probe.Tomcat50ContainerAdaptor.start(Tomcat50ContainerAdaptor.java:55)
    at org.jstripe.tomcat.probe.controllers.AjaxToggleContextController.handleContext(AjaxToggleContextController.java:34)
    at org.jstripe.tomcat.probe.controllers.ContextHandlerController.handleRequestInternal(ContextHandlerController.java:39)
    at org.jstripe.tomcat.probe.ProbeServlet.doDispatch(ProbeServlet.java:49)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.jstripe.tomcat.probe.Tomcat50AgentValve.invoke(Tomcat50AgentValve.java:22)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:535)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
    at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Thread.java:619)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager': Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory': Cannot resolve reference to bean 'hibernateProperties' while setting bean property 'hibernateProperties'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateProperties': Cannot resolve reference to bean 'dialectDetector' while setting bean property 'properties' with key [hibernate.dialect]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dialectDetector': Invocation of init method failed; nested exception is org.codehaus.groovy.grails.orm.hibernate.exceptions.CouldNotDetermineHibernateDialectException: Could not determine Hibernate dialect for database name [Oracle]!
    at java.security.AccessController.doPrivileged(Native Method)
    ... 41 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory': Cannot resolve reference to bean 'hibernateProperties' while setting bean property 'hibernateProperties'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateProperties': Cannot resolve reference to bean 'dialectDetector' while setting bean property 'properties' with key [hibernate.dialect]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dialectDetector': Invocation of init method failed; nested exception is org.codehaus.groovy.grails.orm.hibernate.exceptions.CouldNotDetermineHibernateDialectException: Could not determine Hibernate dialect for database name [Oracle]!
    at java.security.AccessController.doPrivileged(Native Method)
    ... 42 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateProperties': Cannot resolve reference to bean 'dialectDetector' while setting bean property 'properties' with key [hibernate.dialect]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dialectDetector': Invocation of init method failed; nested exception is org.codehaus.groovy.grails.orm.hibernate.exceptions.CouldNotDetermineHibernateDialectException: Could not determine Hibernate dialect for database name [Oracle]!
    at java.security.AccessController.doPrivileged(Native Method)
    ... 43 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dialectDetector': Invocation of init method failed; nested exception is org.codehaus.groovy.grails.orm.hibernate.exceptions.CouldNotDetermineHibernateDialectException: Could not determine Hibernate dialect for database name [Oracle]!
    at java.security.AccessController.doPrivileged(Native Method)
    ... 44 more
Caused by: org.codehaus.groovy.grails.orm.hibernate.exceptions.CouldNotDetermineHibernateDialectException: Could not determine Hibernate dialect for database name [Oracle]!
    ... 45 more

2015-08-06 13:36:33 StandardContext[/welcome_board]Shutting down log4j

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • fbbkenji

    2015/08/06 15:37

    早速、ご返信頂きありがとうございます。例外スタックトレースをすべて記述致します。

    キャンセル

  • fbbkenji

    2015/08/28 16:51

    eripong 様 ご連絡が滞っており、申し訳御座いません。 一から作り直して対応致しました。 いろいろとご対応頂き、本当に有難う御座いました。 今後ともよろしくお願い致します。

    キャンセル

  • eripong

    2015/08/28 20:02

    一から作り直しですか。それはそれで大変そうですね。解決したようで、何よりです。

    キャンセル

回答 1

checkベストアンサー

0

以下に報告されている問題かも知れません。

[GRAILS-10183] Spring loaded causes Grails to fail to bootstrap using Oracle JDK 1.7u25 - Grails JIRA

grailsの以下のバージョンを以上にすれば、解決するかも知れません。
2.1.6, 2.2.3, 2.3-M2

ただ、情報が少ないので違う可能性も十分あります。
情報の追加・修正依頼に書いた内容を追記してもらえませんか?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/08/06 15:55

    情報の追記内容を確認しました。
    JDKですが、1.6..0以外に1.7が入っていて、
    そちらが使われていると言うことはないでしょうか?

    キャンセル

  • 2015/08/06 16:21

    早速、ご対応頂き有難う御座います。
    java 1.6.0 以外はインストールされていない事を確認致しました。
    ちなみに、oracle が 11g になる前は繋がっておりました。
    jdbcのドライバを ojdbc6.jar に変更してみましたが、改善されませんでした。
    また、DBVisualizer を使用した場合は、oracleに接続出来ましたので、oracleのバージョンが変わったことによる問題のような気がしておりますが、対応方法がわからず、困っております。引き続きよろしくお願い致します。

    キャンセル

  • 2015/08/06 17:37

    hibernate.properties
    hibernate.cfg.xml
    などの設定はどうなっていますか?

    キャンセル

  • 2015/08/06 17:48

    hibernateのバージョンはいくつですか?
    http://stackoverflow.com/questions/4369944/hibernate-dialect-for-oracle-database-11g
    によると、3.3.2以降である必要がある様です。

    キャンセル

  • 2015/08/06 18:57

    いろいろとご回答頂き有難う御座います。
    hibernate は使用していない為、設定ファイルは存在しないのですが、手動でファイルを作成した方が宜しいでしょうか。
    また、Webで調べてみたところ、私と同じような現象の方がいらっしゃいました。
    http://www.coderanch.com/t/541355/Groovy/hibernate-dialect-groovy
    現在、tomcat の DataSource を使用しているのですが、
    dialect='org.hibernate.dialect.Oracle10gDialect' は、どのように設定するべきなのでしょうか。
    tomcat の DataSource と datasource.groovy は共存できるのでしょうか。
    いろいろと質問ばかりしてすみません。よろしくお願い致します。

    キャンセル

  • 2015/08/06 19:40

    そうですね。
    似た現象と思います。

    hibernateはgrailsを使っていれば、自動的に使われていると思いますが、
    WEB-INF/libにhibernateのjarはないでしょうか?

    それから、grailsにはデータベース関連の定義は行っていないでしょうか?
    Datasource.groovyの現在の設定はどうなっていますか?

    キャンセル

  • 2015/08/06 19:41 編集

    Datasource.groovyに
    jndiName = "java:comp/env/exampleDatasource"
    のような行があれば、
    その次の行にでも
    dialect = org.hibernate.dialect.Oracle10gDialect
    を追加することで解決するかも知れません。

    キャンセル

  • 2015/08/06 21:13

    MySQLですが、以下のページが参考になりそうです。
    http://javadeveloper.asia/using-tomcat-jndi-datasource-when-deploying-grails-production-war

    キャンセル

  • 2015/08/07 08:47 編集

    いろいろと本当にありがとうございます。
    grails を使用していると、自動的にhibernateが使われてしまうのは、大変勉強になりました。
    ご指摘の通り、WEB-INF/libにhibernate3.jarが御座いました。
    hibernate.properties などの設定ファイルは、どこの場所に存在している必要がありますでしょうか。手動で作成したいと思います。
    また、Datasource.groovyについてですが、こちらもファイルは存在しておりません。
    手動で作成する場合に、どこに作成すれば宜しいでしょうか。
    お忙しいところ、いろいろと質問ばかりして、すみません。よろしくお願い致します。

    キャンセル

  • 2015/08/07 08:53 編集

    今、無いのであれば、単純に作ればよいか分かりません。

    前提として、Oracleへのアクセス部分は、どの様に実装されているでしょうか?
    コードを抜粋してみせてもらえませんか?

    grailsの設定ファイルはどの様なファイルを使っているでしょうか?
    1.0.3のgrailsは、古いせいかWebのドキュメントもみあたらず、困っています。

    キャンセル

  • 2015/08/11 19:52

    ご連絡が滞っており、大変申し訳御座いません。
    Datasource.groovy が存在しない理由がなんとなく分かりました。
    grailsアプリケーションをtomcat上で動作させるために、grails war を実行したものが動作しておりました。
    ソースが存在しない状況下で、Datasource の設定を行うすべは御座いますでしょうか。
    以上です、よろしくお願い致します。

    キャンセル

  • 2015/08/11 20:11

    warは結局zipですので、warを回答した中のWEB-INF/classesの下に、設定ファイルは存在しないでしょうか?

    キャンセル

  • 2015/08/12 08:43

    毎度、ご回答頂き誠に有難う御座います。
    WEB-INF\classesの配下には、
    Datasourceを設定するファイルを見つける事は出来ませんでした。
    プロパティの設定ファイルは御座いました。
    ・application.properties
    ・log4j.properties
    また、Datasouceの名前でクラスファイルが御座いました。
    ・DataSource$_run_closure1.class
    ・DataSource$_run_closure2.class
    ・DataSource$_run_closure3.class
    ・DataSource$_run_closure3_closure4.class
    ・DataSource.class

    Datasource.groovyで設定した内容は、クラスファイルに変換されているのでしょうか。

    以上です、よろしくお願い致します。

    キャンセル

  • 2015/08/12 10:56

    そうですね。
    おそらく、Datasource.groovyをコンパイルした結果と思います。

    元のソースがないと、難しいですね。
    逆コンパイルして内容確認して、
    改めてDatasource.groovyを書いてclassを作り直し、
    warの中にあるclassと入れ替える等、トリッキーな作業を行えば、
    動く可能性はありますが、そこまでやりますか?

    キャンセル

関連した質問

同じタグがついた質問を見る

  • Java

    14073questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Oracle

    612questions

    Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。