Oracle11g Worklight 6.2,SQL适配器(Oracle 11g)JNDI错误,Tomcat 7

Oracle11g Worklight 6.2,SQL适配器(Oracle 11g)JNDI错误,Tomcat 7,oracle11g,tomcat7,ibm-mobilefirst,Oracle11g,Tomcat7,Ibm Mobilefirst,我正在运行Worklight 6.2、Oracle 11g和Tomcat 7。如果我在adapter.xml中硬编码用户名/密码,它可以正常工作: adapter.xml server.xml context.xml 我能够在Eclipse中使用内置Liberty服务器运行适配器时使用JNDI名称。该问题仅在Tomcat上运行时存在 你知道为什么会这样吗?是否可以使用Tomcat 7中的JNDI名称并连接到Oracle 11g数据库?有人告诉我,适配器XML中connectionPolicy节点

我正在运行Worklight 6.2、Oracle 11g和Tomcat 7。如果我在adapter.xml中硬编码用户名/密码,它可以正常工作:

adapter.xml

server.xml

context.xml

我能够在Eclipse中使用内置Liberty服务器运行适配器时使用JNDI名称。该问题仅在Tomcat上运行时存在


你知道为什么会这样吗?是否可以使用Tomcat 7中的JNDI名称并连接到Oracle 11g数据库?

有人告诉我,适配器XML中connectionPolicy节点中的dataSourceJNDIName元素可能配置不正确

请尝试以下方法:

<connectionPolicy xsi:type="sql:SQLConnectionPolicy">
        <dataSourceJNDIName>java:comp/env/jdbc/MyDatabase</dataSourceJNDIName>
</connectionPolicy>
<connectionPolicy xsi:type="sql:SQLConnectionPolicy">
        <dataSourceJNDIName>jdbc/MyDatabase</dataSourceJNDIName>
</connectionPolicy>
http://localhost:8080/manager/text/resources?type=javax.sql.DataSource

OK - Listed global resources of type javax.sql.DataSource
jdbc/MyDatabase :org.apache.tomcat.dbcp.dbcp.BasicDataSource
 <Resource
          name="jdbc/MyDatabase"
          auth="Container"
          type="javax.sql.DataSource"
          driverClassName="oracle.jdbc.OracleDriver"
          url="jdbc:oracle:thin:@d1chd1d3.xyz.com:1522/D1CHD"
          username="MY_USER"
          password="MY_PASS"
          maxActive="20"
          maxIdle="10"
          maxWait="-1"/>
<ResourceLink
name="jdbc/MyDatabase"
global="jdbc/MyDatabase"
type="javax.sql.DataSource" />
<connectionPolicy xsi:type="sql:SQLConnectionPolicy">
        <dataSourceJNDIName>java:comp/env/jdbc/MyDatabase</dataSourceJNDIName>
</connectionPolicy>