IBM Worklight 6.1 - не удается инициализировать проект, поскольку схема базы данных проекта относится к версии N/A
При попытке развернуть мой.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 для обновления схемы базы данных проекта. [проект рмбп]
Я уже провел некоторое исследование и спросил IBM о нашей проблеме, а также рассмотрел следующий аналогичный вопрос: IBM Worklight 6.1 - Невозможно инициализировать проект из-за ошибки DB2
3 ответа
Вы создали соединение jdbc на вашем сервере приложений Websphere? Это потребуется приложению внутри файла WAR для подключения к базе данных.
Если вы это сделали, вы можете проверить внутри своего WAR-файла и найти файл web.xml в папке WEB-INF/. В моем случае я обнаружил внутри файла 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>
Вы можете переименовать эти жестко закодированные файлы в то же имя jdbc, который вы создали в WAS.
Для решения проблемы с базой данных вы можете перейти по этой ссылке, чтобы использовать ant для создания БД.
Если вы выполните 1-й сценарий ant для создания DB2, в котором будут две разные базы данных, вам нужно создать нового пользователя для этой строки, если вы этого еще не сделали. Потому что, как вы можете видеть, в сценарии xml для создания базы данных WRKLGHT потребуются пользователь и пароль. Например:
<db2 database="WRKLGHT" server="proddb.example.com"
user="wl6admin" password="wl6pass">
Если вы используете порт не по умолчанию для вашего соединения DB2, вы можете добавить в свой номер порта параметр после параметра сервера. Например:
порт ="50001"
Для создания пользователя вы можете перейти по этой ссылке:
Похоже, вы пытаетесь установить среду выполнения Worklight в базу данных APPCNTR. Эта база данных используется для Application Center и не связана с базой данных времени выполнения Worklight, которая называется WRKLGHT.
Как установить файл Warlight Worklight: с помощью инструмента настройки сервера, сценариев развертывания ant (которые можно найти в каталоге configuration-samples установки Worklight) или вручную?
См. http://pic.dhe.ibm.com/infocenter/wrklight/v6r1m0/index.jsp?topic=/com.ibm.worklight.deploy.doc/devref/r_ant_tasks_configure_dbs.html котором объясняется, как настроить базу данных времени выполнения Worklight. и развернуть файл войны времени выполнения Worklight.
Сообщение об ошибке выглядит довольно ясно для меня. Похоже, вы обновили установку Worklight, но не обновили схему базы данных, используемую для Application Center.
Вам необходимо проконсультироваться с Информационным центром IBM Worklight.
Вы не упоминаете, как вы обновили установку до v6.1.0, и что вы делали. Итак, взгляните также на следующую тему, касающуюся обновления базы данных, поскольку, как уже упоминалось, похоже, что ваша схема базы данных DB2 для базы данных APPCNTR не состоялась: