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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Oracle

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

Java

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

Q&A

解決済

1回答

2210閲覧

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

fbbkenji

総合スコア9

Oracle

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

Java

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

0グッド

0クリップ

投稿2015/08/05 06:37

編集2015/08/06 06:44

はじめまして。
早速ですが、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

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

eripong

2015/08/05 09:29

JDK、grails、Oracleのバージョンを教えてください。それと、例外のスタックトレースをできる限りすべて載せてください。
eripong

2015/08/05 10:25 編集

OS、Tomcatについてもバージョンの記載をお願いします。
fbbkenji

2015/08/06 06:08

eripong 様 ご連絡有難う御座います。早速ですが、以下回答致します。 JDK : 1.6.0 grails : 1.0.3 tomcat : 5.0 OS : windows Server2008 standard oracle : 11g 以上です、よろしくお願い致します。
eripong

2015/08/06 06:25

例外スタックトレースは、これ以上ありませんか?また、読みにくいので、質問本文に追記していただけると助かります。
fbbkenji

2015/08/06 06:37

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

2015/08/28 07:51

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

2015/08/28 11:02

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

回答1

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/05 09:36

eripong

総合スコア1546

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

eripong

2015/08/06 06:55

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

2015/08/06 07:21

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

2015/08/06 08:37

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

2015/08/06 09:57

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

2015/08/06 10:40

そうですね。 似た現象と思います。 hibernateはgrailsを使っていれば、自動的に使われていると思いますが、 WEB-INF/libにhibernateのjarはないでしょうか? それから、grailsにはデータベース関連の定義は行っていないでしょうか? Datasource.groovyの現在の設定はどうなっていますか?
eripong

2015/08/06 10:49 編集

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

2015/08/06 23:48 編集

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

2015/08/07 00:01 編集

今、無いのであれば、単純に作ればよいか分かりません。 前提として、Oracleへのアクセス部分は、どの様に実装されているでしょうか? コードを抜粋してみせてもらえませんか? grailsの設定ファイルはどの様なファイルを使っているでしょうか? 1.0.3のgrailsは、古いせいかWebのドキュメントもみあたらず、困っています。
fbbkenji

2015/08/11 10:52

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

2015/08/11 11:11

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

2015/08/11 23:43

毎度、ご回答頂き誠に有難う御座います。 WEB-INF\classesの配下には、 Datasourceを設定するファイルを見つける事は出来ませんでした。 プロパティの設定ファイルは御座いました。 ・application.propertieslog4j.properties また、Datasouceの名前でクラスファイルが御座いました。 ・DataSource$_run_closure1.class ・DataSource$_run_closure2.class ・DataSource$_run_closure3.class ・DataSource$_run_closure3_closure4.class ・DataSource.class Datasource.groovyで設定した内容は、クラスファイルに変換されているのでしょうか。 以上です、よろしくお願い致します。
eripong

2015/08/12 01:56

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問