- PR -

DB接続エラー

投稿者投稿内容
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2005-09-27 15:28
引用:

>スタックトレースにDBConnectionPoolという名前が出てこないのですが、省略されている
中には出てきていますよね?

出てきていません。
スタックとレースの中にDBConnectionPoolということは
何を意味しているのでしょうか?
何か設定が必要なのでしょうか?

一つ一つ聞いてしまって本当に申し訳ないです・・・。


スタックトレースが何かはわかっているんですよね?
スタックトレースに該当のクラスが出てこないということは、例外が発生している部分では、
そのクラスを使っていないということです。スタックトレースを見る限り、そのクラスでは
なくDBCPのクラスを呼び出している(JNDIから取得してデータソースを使っている)ように
見えます。

そのクラスを呼び出す部分(Connectionを使う側)のコードはどうなっているんですか?
hirom
常連さん
会議室デビュー日: 2005/08/17
投稿数: 22
投稿日時: 2005-09-27 15:36
インギ様、YOU@IT様 お返事ありがとうございます。

***インギ様より***
>Tomcat を使わずにスタンドアロンの Javaプログラムでシンプルに JDBC の API を叩いた場合にも同じ現象が発生するかどうかということです。
勉強不足で本当に申し訳ありません。
Tomcatを使わずに・・・ということを行ったことが無いので
ただ今調べております。
何か参考になるようなサイトをご存知でしたら教えていただきたいのですが・・・。

>貼り付けたスタックトレースと、貼り付けたコードに整合性があるのか、それとも別のプログラムや環境で発生した実は関係のないスタックトレースなのか、はっきりしないということです。

別のプログラムは動かしていませんし、環境も問題ないと思うのですが・・・
[全スタックトレース]
致命的: データソース org.apache.struts.action.DATA_SOURCE の初期化
org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFact
ory, cause:
java.sql.SQLException: Invalid authorization specification message from server:
"Access denied for user 'root'@'localhost' (using password: YES)"
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1997)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1906)
at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:2520)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:817)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:1782)
at com.mysql.jdbc.Connection.<init>(Connection.java:450)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java
:411)
at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(Driv
erConnectionFactory.java:82)
at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(Poolable
ConnectionFactory.java:300)
at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(Bas
icDataSource.java:838)
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSou
rce.java:821)
at org.apache.commons.dbcp.BasicDataSource.setLogWriter(BasicDataSource.
java:576)
at org.apache.struts.action.ActionServlet.initModuleDataSources(ActionSe
rvlet.java:778)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:331)
at javax.servlet.GenericServlet.init(GenericServlet.java:211)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.
java:1029)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:86
2)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContex
t.java:4013)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4
357)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
.java:823)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:80
7)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)

at org.apache.catalina.core.StandardHostDeployer.addChild(StandardHostDe
ployer.java:903)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.jav
a:216)
at org.apache.commons.digester.SetNextRule.end(SetNextRule.java:256)
at org.apache.commons.digester.Rule.end(Rule.java:276)
at org.apache.commons.digester.Digester.endElement(Digester.java:1058)
at org.apache.catalina.util.CatalinaDigester.endElement(CatalinaDigester
.java:76)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source
)
at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unkn
own Source)
at org.apache.xerces.impl.dtd.XMLDTDValidator.emptyElement(Unknown Sourc
e)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElemen
t(Unknown Source)
at org.apache.xerces.impl.XMLDocumentScannerImpl$ContentDispatcher.scanR
ootElementHook(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContent
Dispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Un
known Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.commons.digester.Digester.parse(Digester.java:1567)
at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDep
loyer.java:488)
at org.apache.catalina.core.StandardHost.install(StandardHost.java:863)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.j
ava:483)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:427
)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:983)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java
:349)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
eSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1091)

at org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)

at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478
)
at org.apache.catalina.core.StandardService.start(StandardService.java:4
80)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:231
3)
at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:287)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425)

***YOU@ITより***
>userテーブルに、Host=localhost、User=root と言うユーザは登録されているでしょうか?

mysql> use mysql
Database changed
mysql> select * from user;
としたところ、
| Host | User | Password |
| localhost | root | ********* |
と表示されました。

本当に本当に申し訳ないですが、どうしていいのやらまったく分かりません。
ご教授のほど宜しくお願いいたします。

山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2005-09-27 15:44
uk さんの指摘するとおり、DBConnectionPool が使われていないようですね。
これってどこから出てきたものでしょう?

>this.password = "****"; ←rootのパスワードを入力
とありますが、本当にパスワードが設定されているのは別の場所ではないですか?
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2005-09-27 15:52
引用:

>貼り付けたスタックトレースと、貼り付けたコードに整合性があるのか、それとも別のプログラムや環境で発生した実は関係のないスタックトレースなのか、はっきりしないということです。

別のプログラムは動かしていませんし、環境も問題ないと思うのですが・・・
[全スタックトレース]
致命的: データソース org.apache.struts.action.DATA_SOURCE の初期化
(以下略)


件のクラスはまったく関係ありません。
Strutsを使っていると思いますが、struts-config.xmlに記述されているデータソースの
設定が間違っているようです。
hirom
常連さん
会議室デビュー日: 2005/08/17
投稿数: 22
投稿日時: 2005-09-27 16:00
uk様、インギ様 お返事ありがとうございます。

***uk様より***
>そのクラスを呼び出す部分(Connectionを使う側)のコードはどうなっているんですか?
Connectionをつかう側のコードは作成しておりません。
作成していないのにConnectoinを使おうとしているということが
エラーになってしまっているのでしょうか?

***インギ様より***
>本当にパスワードが設定されているのは別の場所ではないですか?
インストール時に設定したパスワードなのでよく理解が出来ていないのですが、
インストール時に設定したパスワードというのは何か影響を及ぼすのでしょうか?
現在のパスワードを変更しなおすという方法をとるべきなのでしょうか?

お手数をお掛けしてしまい本当に申し訳ございません。
hirom
常連さん
会議室デビュー日: 2005/08/17
投稿数: 22
投稿日時: 2005-09-28 11:55
ご教授をくださった皆様、本当にありがとうございました。
struts-config.xml
を編集することで解決いたしました。

本当に一つ一つありがとうございました。
今後とも宜しくお願いいたします。

スキルアップ/キャリアアップ(JOB@IT)