Db2 IBM Worklight 6.1-项目无法初始化,因为项目数据库架构来自版本N/A

Db2 IBM Worklight 6.1-项目无法初始化,因为项目数据库架构来自版本N/A,db2,ibm-mobilefirst,worklight-server,worklight-appcenter,Db2,Ibm Mobilefirst,Worklight Server,Worklight Appcenter,尝试将.war文件部署到应用程序服务器时,收到以下错误消息: 错误500:javax.servlet.ServletException:Worklight控制台 初始化失败。记录的异常:java.lang.RuntimeException: FWLSE0206E:项目/rmbp未能初始化,因为 数据源的项目数据库架构 jdbc:db2://192.168.1.80:50001/APPCNTR来自版本N/A,即 版本6.1.0.00.20131126-0630的服务器不支持。使用 Workligh

尝试将.war文件部署到应用程序服务器时,收到以下错误消息:

错误500:javax.servlet.ServletException:Worklight控制台 初始化失败。记录的异常:java.lang.RuntimeException: FWLSE0206E:项目/rmbp未能初始化,因为 数据源的项目数据库架构 jdbc:db2://192.168.1.80:50001/APPCNTR来自版本N/A,即 版本6.1.0.00.20131126-0630的服务器不支持。使用 Worklight ant任务用于升级项目数据库架构。 [项目rmbp]


我已经做了一些研究,向IBM询问了我们的问题,并回顾了以下类似的问题:

错误消息对我来说非常清楚。您似乎已升级Worklight安装,但未升级用于Application Center的数据库方案

您需要咨询IBM Worklight信息中心

您没有提到如何将安装升级到v6.1.0,也没有提到您做了什么。因此,我们也来看看以下关于数据库升级的主题,因为正如前面提到的,您的APPCNTR数据库的DB2数据库方案似乎没有实现:


这个错误消息对我来说非常清楚。您似乎已升级Worklight安装,但未升级用于Application Center的数据库方案

您需要咨询IBM Worklight信息中心

您没有提到如何将安装升级到v6.1.0,也没有提到您做了什么。因此,我们也来看看以下关于数据库升级的主题,因为正如前面提到的,您的APPCNTR数据库的DB2数据库方案似乎没有实现:


您似乎试图将Worklight运行时安装到APPCNTR数据库。此数据库用于Application Center,与名为WRKLGHT的Worklight运行时数据库无关

如何安装Worklight war文件:使用服务器配置工具,可以在Worklight安装的configuration samples目录中找到部署ant脚本,也可以手动安装


有关如何配置Worklight运行时数据库和部署Worklight运行时war文件的说明,请参见。

您似乎试图将Worklight运行时安装到APPCNTR数据库。此数据库用于Application Center,与名为WRKLGHT的Worklight运行时数据库无关

如何安装Worklight war文件:使用服务器配置工具,可以在Worklight安装的configuration samples目录中找到部署ant脚本,也可以手动安装


请参阅,其中解释了如何配置Worklight运行时数据库和部署Worklight运行时war文件。

您是否在Websphere Application Server中创建了jdbc连接? WAR文件中的应用程序需要它来连接到数据库

如果您已经这样做了,您可以检查WAR文件内部,并在web-INF/文件夹中查找web.xml文件。在我的例子中,我发现文件中有一个硬编码的jdbc,例如:

<resource-ref>
  <description>Worklight Server Database</description>
  <res-ref-name>jdbc/WorklightDS</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
</resource-ref>

<resource-ref>
  <description>Reports Database</description>
  <res-ref-name>jdbc/WorklightReportsDS</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
</resource-ref>
<db2 database="WRKLGHT" server="proddb.example.com"
       user="wl6admin" password="wl6pass">
您可以将这些硬编码文件重命名为您在中创建的jdbc的相同名称

对于数据库问题,您可以按照此链接使用ant创建数据库

如果您遵循第一个ant脚本创建DB2,它将有两个不同的数据库,那么您需要为这一行创建新用户,如果您还没有这样做的话。 因为正如您所看到的,在xml脚本中,创建WRKLGHT数据库需要用户和密码。例如:

<resource-ref>
  <description>Worklight Server Database</description>
  <res-ref-name>jdbc/WorklightDS</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
</resource-ref>

<resource-ref>
  <description>Reports Database</description>
  <res-ref-name>jdbc/WorklightReportsDS</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
</resource-ref>
<db2 database="WRKLGHT" server="proddb.example.com"
       user="wl6admin" password="wl6pass">
如果DB2连接使用非默认端口,则可以在服务器参数之后添加端口号参数。 例如:

<resource-ref>
  <description>Worklight Server Database</description>
  <res-ref-name>jdbc/WorklightDS</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
</resource-ref>

<resource-ref>
  <description>Reports Database</description>
  <res-ref-name>jdbc/WorklightReportsDS</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
</resource-ref>
<db2 database="WRKLGHT" server="proddb.example.com"
       user="wl6admin" password="wl6pass">
端口=50001

对于用户创建,您可以按照以下链接进行操作:


您是否在Websphere应用程序服务器中创建了jdbc连接? WAR文件中的应用程序需要它来连接到数据库

如果您已经这样做了,您可以检查WAR文件内部,并在web-INF/文件夹中查找web.xml文件。在我的例子中,我发现文件中有一个硬编码的jdbc,例如:

<resource-ref>
  <description>Worklight Server Database</description>
  <res-ref-name>jdbc/WorklightDS</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
</resource-ref>

<resource-ref>
  <description>Reports Database</description>
  <res-ref-name>jdbc/WorklightReportsDS</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
</resource-ref>
<db2 database="WRKLGHT" server="proddb.example.com"
       user="wl6admin" password="wl6pass">
您可以将这些硬编码文件重命名为您在中创建的jdbc的相同名称

对于数据库问题,您可以按照此链接使用ant创建数据库

如果您遵循第一个ant脚本创建DB2,它将有两个不同的数据库,那么您需要为这一行创建新用户,如果您还没有这样做的话。 因为正如您所看到的,在xml脚本中,创建WRKLGHT数据库需要用户和密码。例如:

<resource-ref>
  <description>Worklight Server Database</description>
  <res-ref-name>jdbc/WorklightDS</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
</resource-ref>

<resource-ref>
  <description>Reports Database</description>
  <res-ref-name>jdbc/WorklightReportsDS</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
</resource-ref>
<db2 database="WRKLGHT" server="proddb.example.com"
       user="wl6admin" password="wl6pass">
如果DB2连接使用非默认端口,则可以在服务器参数之后添加端口号参数。 例如:

<resource-ref>
  <description>Worklight Server Database</description>
  <res-ref-name>jdbc/WorklightDS</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
</resource-ref>

<resource-ref>
  <description>Reports Database</description>
  <res-ref-name>jdbc/WorklightReportsDS</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
</resource-ref>
<db2 database="WRKLGHT" server="proddb.example.com"
       user="wl6admin" password="wl6pass">
端口=50001

对于用户创建,您可以按照以下链接进行操作:


如何检查APPCNTR数据库
化学版?根据我在work light安装中ApplicationCenter文件夹中看到的脚本,有3个版本可用于DB2升级。在升级到6.1之前,您以前的Worklight版本是什么?使用正确的升级脚本。是否仅限worklight或worklight server?如果是worklight server,则我从不升级。这是worklight server 6.1的新安装。您是否安装了Application Center,或者是否已安装在worklight server上?您可能使用了错误的脚本。您指的是什么脚本?我只安装Worklight server,在检查Worklight安装目录之后,我在其中找到了ApplicationCenter文件夹以及sql脚本for DB upgrade。顺便说一句,我已经运行了upgrade-appcenter-60-61-db2.sql脚本,收到错误消息,抱怨使用sql state=42711的APPLINK复制表。我如何检查APPCNTR数据库模式版本?根据我在work light安装中ApplicationCenter文件夹中看到的脚本,有3个版本可用于DB2升级。在升级到6.1之前,您以前的Worklight版本是什么?使用正确的升级脚本。是否仅限worklight或worklight server?如果是worklight server,则我从不升级。这是worklight server 6.1的新安装。您是否安装了Application Center,或者是否已安装在worklight server上?您可能使用了错误的脚本。您指的是什么脚本?我只安装Worklight server,在检查Worklight安装目录之后,我在其中找到了ApplicationCenter文件夹以及sql脚本for DB upgrade。顺便说一句,我已经运行了upgrade-appcenter-60-61-db2.sql脚本,收到错误消息,抱怨使用sql state=42711的APPLINK duplicate table。您好,Bruno,我刚刚完成了提供的步骤u,使用ant为我的Worklight应用程序创建了一个新的数据库。我的新数据库名为“PROD”,在WL60和WL60REP中有两个模式。但是,即使在我将jdbc指向“PROD”数据库之后,该错误仍然存在,并出现相同的错误jdbc:db2://192.168.1.80:50001/PROD。关于上面的语句,我想了解一下“Worklight runtime database”。我不太了解如何将应用程序部署到WebSphereApplicationServer,这是我第一次。我想要部署的应用程序是一个war文件,其中包含一个应用程序控制台,稍后将管理所有移动应用程序我不太确定该应用程序是否需要数据库连接,因为我通常在与eclipse集成的开发Worklight服务器中运行它,而本地PCSo中没有任何专用数据库,所以当您在WAS/DB2上运行时,您必须在编辑ant脚本configure-WAS-DB2.xml并修改不同的属性之后运行2次ant脚本configure-WAS-DB2.xml:ant-f configure-WAS-DB2.xml数据库,然后是ant-fconfigure-was-db2.xml安装。第一次执行将创建Worklight运行时数据库的所有表,第二次执行将在WASHi Bruno中部署您的运行时war文件,我刚刚完成了提供的步骤u,使用ant为我的Worklight应用程序创建一个新数据库。我的新数据库名为“PROD”,在WL60和WL60REP中有两个模式。但是,即使在我将jdbc指向“PROD”数据库之后,该错误仍然存在,并出现相同的错误jdbc:db2://192.168.1.80:50001/PROD。关于上面的语句,我想了解一下“Worklight runtime database”。我不太了解如何将应用程序部署到WebSphereApplicationServer,这是我第一次。我想要部署的应用程序是一个war文件,其中包含一个应用程序控制台,稍后将管理所有移动应用程序我不太确定该应用程序是否需要数据库连接,因为我通常在与eclipse集成的开发Worklight服务器中运行它,而本地PCSo中没有任何专用数据库,所以当您在WAS/DB2上运行时,您必须在编辑ant脚本configure-WAS-DB2.xml并修改不同的属性之后运行2次ant脚本configure-WAS-DB2.xml:ant-f configure-WAS-DB2.xml数据库,然后是ant-fconfigure-was-db2.xml安装。第一次执行将创建Worklight运行时数据库的所有表,第二次执行将在WAS中部署运行时war文件