How to install Oracle Forms and Reports 11g on windows 7 64bit

specs: Pentium Dual 2.2 64bit, 5 GB mem, Windows 7 64bit
reqs: Win7 x64, 1GB Memory, Administrator
time: Oracle Weblogic: 5 min, Fusion Middleware: 23 min setup, 16 min config

  1. Download Java JDK 6u25 x64 (jdk-6u25-windows-x64.exe)
  2. Download Weblogic Server 10.1.3.2 (11g) from here
    Tip: look for “Oracle WebLogic Server 11gR1 (10.3.2) – Package Installer” and select
    the x64 JVM installer package (about 1 GB)
  3. Download Fusion Middleware – Portal, Forms, Reports and Discoverer (11.1.1.2.0) from here
    Tip: look for “Portal, Forms, Reports and Discoverer (11.1.1.2.0)” download link and select
    the x64 zip files (about 2.5 GB in chunks of ~500MB).
  4. Make sure you have at least
    • a 64bit CPU and Windows system
    • 1 GB of memory
    • 5 GB of free disk space for a typical install (more…)

How to build a Java app and load it into an Oracle DB

Create the Java class

[java]public class Hello2 {

public static String hello() {
return “Hello World.”;
}

public static String hello(String name) {
return “Hello ” + name + “.”;
}

public static void main(String[] args) {
System.out.println(Hello2.hello());
System.out.println(Hello2.hello(“Java”));
}
}[/java]

Test the output (console):

[bash]java Hello[/bash]
Output:
[text]Hello World.
Hello Java.[/text]
After compilation, run the following (via puntty on DB server) to load it into the Database (console)

[bash]loadjava -r -f -o -user dbuser/dbpass HelloWorld2.class
# run dropjava to unload any loaded java app/class[/bash]
Calling it from JDeveloper:
[sql]–Create a db connection in JDev as SYS
–R-click on this new connection and select “SQL Worksheet”
–Enter the following in command window:
call dbms_java.LOADJAVA(‘/home/oracle/myapp.jar -verbose -force -grant SCOTT -resolve’);
–to Drop it:
call dbms_java.DROPJAVA(‘/home/oracle/myapp.jar -verbose’);[/sql]

Using a Package (see for Function further down):

[sql]–Create PL/SQL wrapper package bind to a Java class file
CREATE OR REPLACE PACKAGE hello2 AS
–Null argument function header
FUNCTION hello RETURN VARCHAR2;
–One argument function header
FUNCTION hello(who VARCHAR2) RETURN VARCHAR2;
END hello2;
/
–Package body
CREATE OR REPLACE PACKAGE BODY hello2 AS
–Null argument function body
FUNCTION hello RETURN VARCHAR2 IS
LANGUAGE JAVA NAME ‘Hello2.hello() return String’;
–One argument function body
FUNCTION hello(who VARCHAR2) RETURN VARCHAR2 IS
LANGUAGE JAVA NAME ‘Hello2.hello(java.lang.String) return String’;
END hello2;
/[/sql]

Now check that the objects are present (sql):

[sql]SELECT object_name, object_type, status
FROM user_objects
WHERE object_name IN (‘Hello2’, ‘HELLO2’);[/sql]

The output should be something like:

[text]OBJECT_NAME  OBJECT_TYPE   STATUS
———–  ————  ——
HELLO2 PACKAGE VALID
HELLO2 PACKAGE BODY VALID
Hello2 JAVA CLASS VALID[/text]

Finally, test the package by calling:

[sql]SELECT  hello2.hello(‘Mr Java’) FROM dual;[/sql]

Output:

[text]HELLO2.HELLO(‘MRJAVA’)
———————————–
Hello Mr Java.[/text]

Using a PL/SQL Function rather than a Package

[sql]create or replace function hello2 return varchar2 as
language java name ‘Hello2.hello() return java.lang.String’;[/sql]

To call the function, from sqlplus set a variable and dump the string in there:
[sql]variable tmp varchar2(20);
call hello2.hello() into :tmp;[/sql]
Output:
[text]tmp
———
Hello World.[/text]

How to create a Servlet and use it from a JSP page (ADF 10g)

Create the Servlet

  1. Right-click on the package you need it for and select New…
  2. From the new gallery select Web-Tier > Servlets on the left and on the right select HTTP Servlet
  3. Click Next and give the Servlet:
  1. Class name (ImageServlet)
  2. the Package it will reside in
  3. select doGet() method to implement
  • click Next and set the Mapping details:
    1. Name: the name to use in the application
    2. Url pattern: the url path to use in jsp pages (/somePath)
  • Finish
  • In the class, complete the method doGet() with what the servlet should do. If it is a DB query i.e.:

    We need a connection to the DB to make a tranaction…

    [java]

    public static Connection getConnection() throws Exception {

    String amDef = “bc.datamodel.common”;
    String config = “ModelNameLocal”;
    Connection con = null;
    ApplicationModule am = null;

    try {
    am = Configuration.createRootApplicationModule(amDef, config);
    con = ((DBTransactionImpl)am.getTransaction()).getPersistManagerConnection();
    } finally {
    Configuration.releaseRootApplicationModule(am, true);
    }

    return con;

    }

    [/java] (more…)

    Reset local OC4J in JDeveloper 10

    If you get an error message trying to start JMS-Server in JDeveloper 10.1.3.5 like:

    (SEVERE) Failed to set the internal configuration of the OC4J JMS Server with:
    XMLJMSServerConfig[file:/C:/oc4j_path/j2ee/home/config/jms.xml]

    1. Firstly check whether the port (default 9127) is not used/locked by other app.
    2. Try deleting the contents in your local OC4J path:
      <JDEV_PATH>\jdev\system\oracle.j2ee.10.1.3.43.6\embedded-oc4j\persistence\
      or
      <JDEV_PATH>\j2ee\home\persistence\

      When OC4J will start again, it will reset the local configurations and let JMS-Server start as normal.

     

    credit: forums.oracle.com

    Set default language for JDeveloper IDE

    JDeveloper picks-up the default locale language from the OS.

    To change this and force JDev to a specific language:

    1. Open JDEV_HOME/jdev/bin/jdev.conf
    2. Add the following lines for English:
      AddVMOption -Duser.language=en
      AddVMOption -Duser.country=US

    This will show all warnings and message details in English.

     

    credit: OraTransplant.nl