当前位置: 首页 > 知识库问答 >
问题:

Worklight 6.1,SQL Adapter(Oracle 11g)在Tomcat 7.0.42上出现JNDI错误

别开诚
2023-03-14

我们正在worklight 6.1、Oracle11g和Tomcat7.0.42上部署worklight应用程序。

我们按照手动步骤在Tomcat上部署worklight应用程序,我们配置了以下文件:adapter.xml

<connectivity>
        <connectionPolicy xsi:type="sql:SQLConnectionPolicy">   
         <dataSourceJNDIName>${DataSource-jndi-Local}</dataSourceJNDIName>
    </connectionPolicy>
DataSource-jndi-Local = jdbc/WorklightAppDS

server.xml(Tomcat 7)

<Context path="/App_Name" docBase="App_Name">
        <Resource name="jdbc/WorklightAppDS"
            auth="Container"
            type="javax.sql.DataSource"
            driverClassName="oracle.jdbc.driver.OracleDriver"
            url="jdbc:oracle:thin:@domain:1521:ORCL"
            username="DBUSER"
            password="DBPASS"/>
        <Resource name="jdbc/WorklightDS"
            auth="Container"
            type="javax.sql.DataSource"
            driverClassName="oracle.jdbc.driver.OracleDriver"
            url="jdbc:oracle:thin:@domain:1521:ORCL"
            username="DBUSERWORKLIGHT"
            password="DBUSERWORKLIGHTPASS"/>    
        <Resource name="jdbc/WorklightReportsDS"
            auth="Container"
            type="javax.sql.DataSource"
            driverClassName="oracle.jdbc.driver.OracleDriver"
            url="jdbc:oracle:thin:@domain:1521:ORCL"
            username="DBUSERWORKLIGHTREPORTS"
            password="DBUSERWORKLIGHTREPORTSPASS"/>

         <Manager pathname="" />
    </Context> 

完成上述配置后,部署了Worklight应用程序,我们能够访问上下文“/app_name/console”上的Worklight控制台。我们在worklight控制台上部署了。wlapp和。wladapter,当我们通过应用程序调用worklight适配器时,它表示“运行时:Datasource JDBC/WorklightAppds在JNDI中找不到”。

我们尝试了另外两种方法来配置数据源:

        <Resource name="UserDatabase" auth="Container"
                  type="org.apache.catalina.UserDatabase"
                  description="User database that can be updated and saved"
                  factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
                  pathname="conf/tomcat-users.xml" />

        <Resource name="jdbc/WorklightAppDS"
            auth="Container"
            type="javax.sql.DataSource"
            driverClassName="oracle.jdbc.driver.OracleDriver"
            url="jdbc:oracle:thin:@domain:1521:ORCL"
            username="DBUSER"
            password="DBPASS"/> 
    </GlobalNamingResources>
        <Resource name="jdbc/WorklightAppDS"
            auth="Container"
            type="javax.sql.DataSource"
            driverClassName="oracle.jdbc.driver.OracleDriver"
            url="jdbc:oracle:thin:@domain:1521:ORCL"
            username="DBUSER"
            password="DBPASS"/>

        <!--
        <Manager pathname="" />
        -->
    </Context>

在这两种方法中,我们面临着相同的错误。即“运行时:在JNDI中找不到数据源JDBC/WorklightAppDS”

共有1个答案

吴欣悦
2023-03-14

尝试在datasourceJndiname中使用java:comp/env/${DataSource-jndi-Local}。

 类似资料:
  • 我试图转换一个传统的8.5 WebSphere配置到WebSphere自由20. x配置,并得到一个错误。我相信连接设置是正确的,名称是正确的,驱动程序的jar文件存在,但下面有错误。 这里是基本的配置。 ... 服务器顶部的配置。xml jar文件为:db2jcc4-4.22.29.jar 并作为对jar/class文件的引用。 连接的java代码是标准的jdbc连接: 司机经理。getConn

  • 数据库为:MSSQL 2008 R2 OS=Windows Server 2008 R2 错误日志为: 2014年3月12日下午5:19:53 org.apache.catalina.realm.UserDatabaseRealm开始内部严重:异常查找键UserDatabase javax.naming.NameNotFoundException:Name[UserDatabase]下的UserD

  • 问题内容: 我得到以下代码: 这应该在从文件中逐字读取单词时进行大量计数。但是,当我最终尝试将数组打印到终端时,只需检查它是否还可以,然后再开始使程序能够将其写入文本文件,它只会给出一个错误,内容为:[Ljava。 lang.String; @ 163de20但是我不知道在这种情况下如何以及在哪里检查错误?有什么帮助吗? 问题答案: 这不是错误…这是Object类的默认toString()实现返回

  • 我已经成功安装了pyobjc核心,但当我尝试安装pyobjc时,我得到了一个错误: (第一部分) 错误:命令出错,退出状态为1:Command:/Library/framework/python . framework/Versions/3.9/bin/python 3.9-u-c ' import sys,setuptools,tokenize。sys . argv[0]= ' " ' " '/