Tag: oracleforms

在浏览器外运行Oracle Forms 11g

我们有一个Oracle Forms 11g应用程序,可以通过浏览器启动。 这会留下一个空的浏览器窗口,因为Forms会打开自己的窗口。 但是,如果关闭空浏览器窗口,则窗体窗口也会关闭。 我喜欢这种安装是服务器安装的事实,我可以轻松地更新它。 但我更喜欢桌面上的一个图标(一个shourtcut),它只是在没有浏览器窗口的情况下打开Forms应用程序。 我希望通过Java SDK中的AppletViewer解决这个问题。 但是,当我使用我收到的起始页面的URL启动它时: Warning: tag requires code attribute. Exception in thread “main” java.lang.NullPointerException at sun.applet.AppletViewer.parse(AppletViewer.java:1129) at sun.applet.AppletViewer.parse(AppletViewer.java:1074) at sun.applet.Main.run(Main.java:156) at sun.applet.Main.main(Main.java:98) 有没有人知道如何在没有浏览器的情况下直接打开Forms应用程序(并且没有应用程序的本地安装)? PS:我知道在没有浏览器的情况下将Oracle Forms作为独立运行 ,但它没有帮助我,因为引用的链接不再在线。 更新1:链接已被替换,所以这可能是我将尝试的解决方案。 更新2:我们设法通过Webstart运行我们的Forms应用程序,就像任何其他桌面应用程序一样。 欢呼!

查看oracle app并获取:java.lang.ClassNotFoundException:oracle.forms.engine.Main

我正在尝试调试oracle表单应用程序。 在生产中,当我加载应用程序时,我收到一个错误:java.lang.ClassNotFoundException:oracle.forms.engine.Main 我不确定导致这个问题的原因。 我现在一直在搜索论坛半天,看起来它可能与java版本问题有关。 我已经包含了(略微修改以保护我的公司)java控制台输出,如果我正确读取它,看起来像证书需要重新打包。 但是,当我查看该网站的证书时,它表示已通过verisignvalidation。 我正在使用IE 9来尝试查看表单应用程序,我得到一个:java.lang.ClassNotFoundException:oracle.forms.engine.Main 在Java控制台中,我得到以下输出: Java Plug-in 1.6.0_45 Using JRE version 1.6.0_45-b06 Java HotSpot(TM) Client VM User home directory = C:\Users\my_username network: Cache entry not found [url: https://company_site.ca:4446/forms/java/frmall.jar, version: null] network: Connecting https://company_site.ca:4446/forms/java/frmall.jar with proxy=DIRECT network: Connecting http://company_site.ca:4446/ with proxy=DIRECT javax.net.ssl.SSLException: Received fatal alert: unexpected_message at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source) at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source) […]

如何同步PL / SQL调用的java方法

我只是遇到了一个与并发相关的问题,其逻辑流程是当客户端(称为Oracle Forms)提交请求(称为并发程序)并调用plsql过程时,此过程最终将调用java静态方法。 我发现当我在同一时间或非常短的间隔(如1秒)内提交两个请求时,会注意到一些并发问题。 java方法是做一些事情的起点,从数据库中搜索建议应该将哪些记录插入到数据库中。 问题是,它们会导致重复的结果,因为当我查询时,两个请求都可以很好地插入新记录。 我试过在静态java方法中添加synchronized ,但这并没有解决这个问题,为什么呢? 我所做的是: public static synchronized void execute 请注意,插入将在plsql中调用,这意味着如果仅同步java方法,则执行不充分的同步。 但是当我查看日志时,它会显示两个请求在同一秒内运行,我不认为这是正常的! 因为查询数据库和做建议是耗时的。 为了使java方法非常耗时,我添加了一个代码调用Thread.sleep(5000) ,并记录此代码后的时间并记录线程ID。 惊喜地发现Thread id是1! 而且,他们通过睡眠的时间也在同一时间。 这是为什么? 我该怎么做才能解决问题? 对java方法或pl sql的任何锁定? PS:我现在正在尝试使用DMBS_LOCK ,这似乎有效,但我仍然希望知道java方法不同步的原因。