- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一些其他人编写的 Java 代码(早已不在,无法联系他们),在我正在调试的 JBoss 服务器上运行。它使用以下一行代码获取 javax.sql.DataSource
:
DataSource ds = new InitialContext().lookup("java:/jdbc/WPDS");
但是,当他们在下一行使用 ds.getConnection()
时,这会显示在日志中:
...
javax.resource.ResourceException: Unable to get managed connection for jdbc/WPDS
...
Caused by: org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (java.sql.SQLException: ORA-01017: invalid username/password; logon denied)
我环顾四周,发现了一个名为 oracle-xa-ds.xml
的文件。它包含以下内容:
<datasources>
<xa-datasource>
<jndi-name>jdbc/WPDS</jndi-name>
<!-- uncomment to enable interleaving <interleaving/> -->
<isSameRM-override-value>false</isSameRM-override-value>
<xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
<xa-datasource-property name="URL">jdbc:oracle:thin:@hostname.hidden.com:1621:HIDE</xa-datasource-property>
<xa-datasource-property name="User">hidden</xa-datasource-property>
<xa-datasource-property name="Password">hidden</xa-datasource-property>
<!-- Uses the pingDatabase method to check a connection is still valid before handing it out from the pool -->
<valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker</valid-connection-checker-class-name>
<!-- Checks the Oracle error codes and messages for fatal errors -->
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
<!-- Oracles XA datasource cannot reuse a connection outside a transaction once enlisted in a global transaction and vice-versa -->
<no-tx-separate-pools/>
<max-pool-size>50</max-pool-size>
<!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
<metadata>
<type-mapping>Oracle9i</type-mapping>
</metadata>
</xa-datasource>
<mbean code="org.jboss.resource.adapter.jdbc.vendor.OracleXAExceptionFormatter"
name="jboss.jca:service=OracleXAExceptionFormatter">
<depends optional-attribute-name="TransactionManagerService">jboss:service=TransactionManager</depends>
</mbean>
</datasources>
我已经验证所有这些设置都是正确的。我可以使用此文件中给出的主机名、端口、SID、用户名和密码连接到数据库。
我怀疑它可能是从其他地方加载DataSource
,但我不知道如何检查该理论(如果是真的,我如何找出它实际上从哪里获取它来自?)是否可以启用某种 JNDI 日志记录,或者也许我可以以某种方式让它告诉我它试图使用什么用户名/密码(这样我就可以查看它是否使用文件中的内容?)
最佳答案
ORA-01017: 无效的用户名/密码;登录被拒绝
原因:
尝试登录 Oracle 时输入了无效的用户名或密码。用户名和密码必须与 GRANT CONNECT 语句中指定的用户名和密码相同。如果用户名和密码一起输入,格式为:用户名/密码。
ORA-01017 错误的核心问题是无效的用户 ID 和密码组合,但除了密码错误之外,还存在用户 ID 问题
用户 ID 对于目标系统可能无效 - 用户 ID 作为 dba_users View 中的用户名列存在。
检查您的 $ORACLE_SID 环境参数。如果您的 $ORACLE_SID 设置为错误的系统 ID,那么您可能会收到 ORA-01017 错误,因为您连接到了错误的数据库。
检查 tnsnames.ora 以确保 TNS 服务名称指向正确的服务器和实例名称。如果您指定了不正确的 tnsnames.ora 服务名称,则该数据库中可能不存在该用户 ID 和密码。
行动:
以正确的格式输入有效的用户名和密码组合。
用户名和密码绝对不正确。
尝试更改系统设置 SEC_CASE_SENSITIVE_LOGON = FALSE;并更改密码。
http://oracle-base.com/articles/11g/case-sensitive-passwords-11gr1.php
关于java - 查找 InitialContext.lookup 检索的数据源在哪里定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41732782/
我正在学习Managing database connections with JDBC由 IBM 出版。这是一些旧东西(2001)。他们正在使用 JNDI。当我尝试实现他们的代码时: try {
我是 EJB 的新手,我正在尝试从 InitialContext 中查找 EJB,一切正常,直到我更改了项目名称,现在它给了我这个异常: javax.naming.NoInitialContextEx
全部, 我正尝试在一些陈旧的 Java 代码(没有接口(interface)、没有抽象等)中做一些单元测试 这是一个使用 ServletContext 的 servlet(我假设它是由 Tomcat
我正在使用 jboss 在 java 爬虫中开发一个应用程序。我编写了以下代码: connectionFactoryLookupAddress = new String("jms/RemoteConn
我想在运行 Tomcat 和 Spring 4 的情况下进行简单的集成测试,注入(inject)一个 spring 组件并使用我现有的 Tomcat 数据源配置。我不想两次配置我的数据源。所有内容,包
我正在尝试为 Java SE 控制台应用程序设置 JNDI。 我有以下代码: public class FooMain { public static void main (String ar
当我尝试为 Junit 测试模拟以下方法(方法使用远程 EJB 调用业务逻辑)时,它给出 javax.naming.NoInitialContextException private void som
我在我的应用程序中使用 InitialContext 来查找远程 EJB。有一些外部系统会通知我一些事件,当发生这种情况时,我将此通知委托(delegate)给适当的远程 EJB。 我一直认为我应该为
我正在开发一个在 WebLogic 10 上运行的应用程序,当然还有 Java。 好吧,问题是我正在使用 oracle.jdbc.xa.client.OracleXADataSource 来管理事务,
我收到以下错误消息: javax.naming.NoInitialContextException: Need to specify class name in environment or syst
我有一些其他人编写的 Java 代码(早已不在,无法联系他们),在我正在调试的 JBoss 服务器上运行。它使用以下一行代码获取 javax.sql.DataSource: DataSource ds
尝试使用 Oracle WebLogic 12.1 从我的初始上下文中检索数据源对象时出现以下错误: "Problem creating dummy orb: org.omg.CORBA.COMM_F
我正在开发一个命令行客户端 (Java SE6),它现在需要与 Glassfish 2.1 服务器通信。建立这个连接的代码是 try { final InitialContext contex
在分布式客户端服务器应用程序中,我使用 java RMI 从客户端计算机调用服务器端方法。在服务器端使用 EJB,应用服务器是 Glassfish。我在服务器端有一个 SampleFacade 类,它
我在基于 Active Directory (Windows Server 2008 R2) 和 Java 实现正确的身份验证时遇到问题。 假定的流程是当帐户在 AD 中被禁用时(属性 → 帐户 →
我正在尝试创建一个 InitialContext,这样我就可以向 JNDI 请求一些企业 java bean。JBoss 运行良好,但是当我运行 java 代码时出现异常。 我正在运行 JBoss 7
Context context = new InitialContext(); dataSource = (DataSource) context.lookup("java:comp/env/jdbc
我在我的测试中使用 jmockit,我想测试一个类,直接使用 InitialContext。所以我有以下内容: public class MyClass { public void myMetho
我正在编写一个 Java Servlet 应用程序,该应用程序需要存在某些环境变量和 JNDI 定义。这些在 server.xml 文件中定义。使用默认值是不可能的。因此程序需要抛出运行时(未经检查的
OSGi 客户端尝试连接到 GF4。在 Maven 中,我添加了 gf-client-module 4。我看到 bundle glassfish-naming-4.0.jar 已安装。 所以在 Act
我是一名优秀的程序员,十分优秀!