公式アカウントからの投稿が始まります

今、strutsを使用した画面を作成し、画面入力データをMySQLへ接続しようとした際以下のようなエラーメッセージがでるのですが
この原因は何なのでしょうか?
javax.servlet.ServletException: java.sql.SQLException: Invalid authorization specification: Access denied for user 'ODBC'@'localhost' (using password: YES)
↑このときのODBCは以下のxmlのuser="ODBC"で書かれている値

このときのstruts-config.xmlの定義は以下です。
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-con …
<struts-config>
<data-sources>
<data-source>
<set-property property="driverClass"
value="org.gjt.mm.mysql.Driver"/>
<set-property property="url"
value="jdbc:mysql://localhost:3306/employees"/>
<set-property property="maxCount"
value="5"/>
<set-property property="minCount"
value="1"/>
<set-property property="user"
value="ODBC"/>
<set-property property="password"
value="root"/>
</data-source>
</data-sources>
<form-beans>
<form-bean name="loginForm"
type="wiley.LoginForm" />
<form-bean name="employeeForm"
type="wiley.EmployeeForm" />
</form-beans>
<global-forwards>
<forward name="login" path="/login.jsp"/>
</global-forwards>
<action-mappings>
<action path="/Login"
type="wiley.LoginAction"
validate="true"
input="/login.jsp"
name="loginForm"
scope="request" >
<forward name="success" path="/EmployeeList.do"/>
</action>
<action path="/EmployeeList"
type="wiley.EmployeeListAction"
scope="request" >
<set-property property="loginRequired" value="true"/>
<forward name="success" path="/employeelist.jsp"/>
</action>
<action path="/Add"
type="wiley.AddEmployeeAction"
name="employeeForm"
scope="request"
input="/addemployee.jsp"
validate="true" >
<set-property property="loginRequired" value="true"/>
<forward name="success" path="/EmployeeList.do"/>
<forward name="error" path="/addemployee.jsp"/>
</action>
<action path="/Edit"
type="wiley.GetEmployeeAction"
name="employeeForm"
scope="request"
validate="false" >
<set-property property="loginRequired" value="true"/>
<forward name="success" path="/editemployee.jsp"/>
<forward name="error" path="/EmployeeList.do"/>
</action>
<action path="/EditEmployee"
type="wiley.EditEmployeeAction"
name="employeeForm"
scope="request"
input="/editemployee.jsp"
validate="true" >
<set-property property="loginRequired" value="true"/>
<forward name="success" path="/EmployeeList.do"/>
<forward name="error" path="/editemployee.jsp"/>
</action>
<action path="/Delete"
type="wiley.DeleteEmployeeAction"
scope="request"
validate="false" >
<set-property property="loginRequired" value="true"/>
<forward name="success" path="/EmployeeList.do"/>
<forward name="error" path="/EmployeeList.do"/>
</action>
</action-mappings>
<message-resources
parameter="wiley.ApplicationResources"/>
</struts-config>
この時、jspで入力された値をMySQLへ渡そうとしたとき、上記のエラーで画面遷移ができません。
よろしくお願いします。

A 回答 (2件)

ユーザODBCとして接続を試みて、


ユーザ認証ではじかれているように見えます。
strutsを利用せずに、直接MySQLにユーザODBCで接続できるか
確認してみては。

この回答への補足

回答ありがとうございます。
それでですが、MySQLを確認し実行したところ上記のようなエラーは出なくなったのですが、以下のようなエラーが新たに発生しました。
javax.servlet.ServletException: java.sql.SQLException: Communication failure during handshake. Is there a server running on localhost:3306?
原因は上記のエラーにあるようにlocalhost:3306で動いているサーバーがあるかと聞いているのですが、これはhostの設定に問題があるということなのでしょうか?
MySQLのインストール時のPort Numberには3306の値を設定しています。
これの改善策はあるのでしょうか?
よろしくお願いします。

補足日時:2007/10/24 02:08
    • good
    • 0
この回答へのお礼

遅くなり申し訳ありません。
あのあと、いろいろ試したところ無事問題は解決しました。
理由はわからないのですが。

回答ありがとうございました。
また、質問することがあるのでその時はよろしくお願いします。
ありがとうございました。

お礼日時:2008/01/20 00:44

> この原因は何なのでしょうか?


> javax.servlet.ServletException: java.sql.SQLException: Invalid authorization specification: Access denied for user 'ODBC'@'localhost' (using password: YES)

原因はこの例外メッセージに書かれていると思われますが…。

この回答への補足

ご指摘ありがとうございます。

それでですが、以下のようなエラーが新たに発生したのですが、
これはlocalhost:3306の設定がないということなのでしょうか?
javax.servlet.ServletException: java.sql.SQLException: Communication failure during handshake. Is there a server running on localhost:3306?

よろしくお願いします。

補足日時:2007/10/24 02:08
    • good
    • 0
この回答へのお礼

遅くなり申し訳ありません。
あのあと、いろいろ試したところ無事問題は解決しました。
理由はわからないのですが。

回答ありがとうございました。
また、質問することがあるのでその時はよろしくお願いします。
ありがとうございました。

お礼日時:2008/01/20 00:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!