Oracle Forms Builder запускает формы только на сервере

На работе я взял на себя старую систему на базе Oracle. Первоначально предыдущий разработчик создавал формы и отчеты с помощью Oracle Forms and Reports 6. Каким-то образом мне удалось установить этот пакет на моем ПК с Windows 10. Я помню, что смог легко «запустить» форму для отладки/тестирования напрямую.

Мой компьютер недавно вышел из строя, и я понес большую потерю данных, включая рабочую настройку Oracle 6. Сейчас я установил последнюю версию Oracle® Fusion Middleware 12c (12.2.1.3.0). Столкнувшись со многими проблемами, мне наконец удалось установить, настроить и запустить его правильно. Теперь я могу легко открывать старые формы:

Конструктор форм

Но есть проблема: я больше не могу запустить форму для тестирования. Вместо этого он пытается подключиться к серверу, и я получаю эту ошибку:

Ошибка

Я нашел этот URL-адрес в диалоговом окне настроек, и я не уверен, почему он пытается запустить форму Windows на сервере. Может ли v12 не тестировать формы, как v6 раньше?

Настройки

Что мне не хватает?


person Hassan Gulzar    schedule 01.03.2018    source источник


Ответы (2)


Forms 6i была клиент-серверной (хотя вы могли бы развернуть ее в Интернете). Более поздние версии (начиная с 9i, ​​за которой следует 6i) доступны только через Интернет.

Я не использую версию 12c, но думаю, что вам нужно установить сервер WebLogic, чтобы запускать эти формы.

Если бы вы могли «откатиться», скажем, до версии 10g, вы бы запустили экземпляр OC4J, который позволяет вам запускать формы локально, без какого-либо сервера (это был IAS, сервер интернет-приложений в 10г).

Или, если возможно, приобретите установочный компакт-диск 6i Developer Suite. Обратите внимание, что, поскольку это довольно старая программа, у вас могут возникнуть проблемы с ее запуском в Windows 10 (она никогда не поддерживалась и не сертифицирована как комбинация программного обеспечения Oracle и операционной системы). В таком случае я бы установил виртуальную машину, установил на нее Windows XP, установил Forms 6i и наслаждался.

person Littlefoot    schedule 01.03.2018
comment
Поскольку я являюсь полноценным разработчиком полного стека .Net, ваш быстрый ответ дал мне достаточно информации, чтобы начать работу. Я устанавливаю компонент инфраструктуры (WebLogic) прямо сейчас. Я также заметил, что настройка формы была неправильной, так как многие ярлыки никогда не создавались, если сравнивать мой опыт с многочисленными руководствами по установке на YouTibe. Так что переделываю еще раз. Если не получится, буду искать 6i. - person Hassan Gulzar; 01.03.2018

Прежде всего, вы должны установить Weblogic Server. Он начал запускать файл startWebLogic.cmd, установленный в таком C:\Oracle\Middleware\user_projects\domains\ClassicDomain\bin пути по умолчанию для windows систем.

Когда этот файл запускается, он запрашивает username (по умолчанию weblogic, если не определено другое) и пароль (по умолчанию Welcome1, если не определено другое).

Рекомендуется хранить эту информацию именно в файле boot.properties по пути C:\Oracle\Middleware\user_projects\domains\ClassicDomain\servers\AdminServer\security, определив учетные данные в текстовом файле, как показано на рисунке ниже:

введите здесь описание изображения

предоставление startWebLogic.cmd, чтобы не запрашивать у пользователя username и password

После успешного запуска startWebLogic.cmd файл boot.properties шифруется следующим образом:

введите здесь описание изображения

Возвращаясь к нашей первоначальной проблеме,

Когда вы запускаете форму, нажимая Ctrl+R, вы получаете FRM-10142 из-за следующих двух случаев:

  1. Сервер Weblogic не работает
  2. Сервер Weblogic работает, но ваш номер порта не определен в настройках среды выполнения форм. В основном это 7001 по умолчанию, в вашем случае это 9001. Текущую настройку номера порта можно увидеть в последних строках экрана команды startWebLogic.cmd
    (где вы видите строку RUNNING при успешном запуске):
       <Mar 2, 2018 1:11:45 AM VET> <Notice> <Server> <BEA-002613> 
       <Channel "Default" is now listening on 192.168.27.1:7001 for protocols iiop, t3, ldap, snmp, http.>
       <Mar 2, 2018 1:11:45 AM VET> <Notice> <WebLogicServer> <BEA-000329>
       <Started WebLogic Admin Server "AdminServer" for domain "ClassicDomain" running in Production Mode>
       <Mar 2, 2018 1:11:45 AM VET> <Notice> <WebLogicServer> <BEA-000365>  
       <Server state changed to RUNNING>
       <Mar 2, 2018 1:11:45 AM VET> <Notice> <WebLogicServer> <BEA-000360>  
       <Server started in RUNNING mode>

Обратите внимание на литералы 7001 и RUNNING в приведенном выше тексте.

person Barbaros Özhan    schedule 02.03.2018
comment
То есть установка Oracle XE или 12 баз данных не требуется? У меня есть отдельный сервер базы данных Oracle в сети, на котором есть все базы данных. Я следил за видео на YouTube, и все начинают с установки базы данных, и я не могу заставить это работать: база данных работает, но слушатель не работает. - person Hassan Gulzar; 03.03.2018
comment
@ DoomerDGR8 да, конечно, БД нужна, так как предварительно предполагалось, что она установлена. Вы выдавали C:\Program Files\Oracle>lsnrctl sta[tus]rt, сначала status, а затем start, если необходимо? - person Barbaros Özhan; 03.03.2018
comment
@ DoomerDGR8 DoomerDGR8 вы пытались C:\Program Files\Oracle>tnsping <your_db_alias> разрешить псевдоним вашей базы данных? - person Barbaros Özhan; 03.03.2018
comment
Какой будет псевдоним базы данных в случае Oracle 11 XE? - person Hassan Gulzar; 03.03.2018
comment
@ DoomerDGR8 DoomerDGR8 я не помню псевдоним по умолчанию, возможно, он был изменен во время установки. Важно правильно получить информацию о sqlnet.ora и tnsnames.ora, когда вы используете tnsping. - person Barbaros Özhan; 03.03.2018
comment
XE = (DESCRIPTION = (АДРЕС = (ПРОТОКОЛ = TCP)(HOST = 10.128.68.152)(PORT = 1521)(IP=V4_ONLY)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE)) ) EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC) (KEY = EXTPROC1)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO)) ) - person Hassan Gulzar; 03.03.2018
comment
ORACLR_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC) (KEY = EXTPROC1)) ) (CONNECT_DATA = (SID = CLRExtProc) (PRESENTATION = RO)) ) - person Hassan Gulzar; 03.03.2018
comment
В D:\Oracle\Database\app\oracle\product\11.2.0\server\network\ADMIN\tnsnames.ora определены три - person Hassan Gulzar; 03.03.2018
comment
Давайте продолжим это обсуждение в чате. - person Barbaros Özhan; 03.03.2018