6

この質問と同様の質問ですが、役に立ちませんでした。

現在、AmazonホスティングのJboss 6サーバーにh2をデプロイしています。次の詳細を使用して接続を試みています

            Connection conn = DriverManager.getConnection(
            "jdbc:h2:~/test", "-user",
            "");

上記のリンクを含む他の多くの組み合わせを試し、チュートリアルで提供されている詳細を使用しましたが、何も機能していないようです. 以下はスタックトレースです。

   org.h2.jdbc.JdbcSQLException: Wrong user name or password [28000-173]
org.h2.message.DbException.getJdbcSQLException(DbException.java:331)
org.h2.message.DbException.get(DbException.java:171)
org.h2.message.DbException.get(DbException.java:148)
org.h2.message.DbException.get(DbException.java:137)
org.h2.engine.Engine.validateUserAndPassword(Engine.java:302)
org.h2.engine.Engine.createSessionAndValidate(Engine.java:147)
org.h2.engine.Engine.createSession(Engine.java:122)
org.h2.engine.Engine.createSession(Engine.java:28)
org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:313)
org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:105)
org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:90)
org.h2.Driver.connect(Driver.java:73)
java.sql.DriverManager.getConnection(DriverManager.java:620)
java.sql.DriverManager.getConnection(DriverManager.java:200)
extension.Package.loadData(Package.java:477)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:616)
org.jboss.web.tomcat.service.TomcatInjectionContainer.processesLifecycleCallbackMetaData(TomcatInjectionContainer.java:560)
org.jboss.web.tomcat.service.TomcatInjectionContainer.postConstruct(TomcatInjectionContainer.java:333)
org.jboss.web.jsf.integration.injection.JBossDelegatingInjectionProvider.invokePostConstruct(JBossDelegatingInjectionProvider.java:90)
com.sun.faces.mgbean.BeanBuilder.invokePostConstruct(BeanBuilder.java:219)
com.sun.faces.mgbean.BeanBuilder.build(BeanBuilder.java:101)
com.sun.faces.mgbean.BeanManager.createAndPush(BeanManager.java:405)
com.sun.faces.mgbean.BeanManager.create(BeanManager.java:265)
com.sun.faces.el.ManagedBeanELResolver.resolveBean(ManagedBeanELResolver.java:191)
com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:73)
javax.el.CompositeELResolver.getValue(CompositeELResolver.java:175)
com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:71)
org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:67)
org.apache.el.parser.AstValue.getValue(AstValue.java:115)
org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:187)
com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:106)
javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:190)
javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:178)
javax.faces.component.UIOutput.getValue(UIOutput.java:164)
com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:201)
com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:351)
com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:160)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:879)
com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:308)
com.sun.faces.renderkit.html_basic.GridRenderer.renderRow(GridRenderer.java:181)
com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:125)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:849)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1643)
javax.faces.render.Renderer.encodeChildren(Renderer.java:164)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:849)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1643)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1646)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1646)
com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:389)
com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:127)
javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:269)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:117)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:135)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:309)

私が間違っている場所についての助けをいただければ幸いです。ありがとうございました。

4

2 に答える 2

11

H2 ファイルベースのデータベースにアクセスできませんでした。H2 データベースのパスワードのユーザーを指定することはありません。「間違ったユーザー名またはパスワード」という接続の問題が発生したとき、アプリケーションの前回の実行からの既存のファイルが既に存在していました。既存の *.db ファイルを削除すると、問題が解決しました (生成されたユーザーとパスワードの組み合わせで作成されたと思いますが、その後変更されました)。

于 2015-12-14T10:25:50.430 に答える
5

あなたのユーザー名は本当に"-user" ですか? パスワードは空の文字列ですか? DriverManager.getConnection(String url, String user, String password)パラメータを使用してメソッドを呼び出しています

  • url = "jdbc:h2:~/test"
  • user = "-user"
  • password = ""(空文字列)

ユーザー名とパスワードを両方とも空の文字列にしたい場合は、次の 2 つのオプションがあります。

DriverManager.getConnection("jdbc:h2:~/test", "", "");
DriverManager.getConnection("jdbc:h2:~/test");
于 2013-09-04T05:50:21.027 に答える