You can embed Structured Query Language in Java (SQLJ) statements in your applications
to maximize the efficiency of transactions with your databases. Before
your applications can take advantage of SQLJ, deploy the application
and customize the created SQLJ profiles. You can use Rational® Application
Developer or the DB2® SQLJ translator to translate the application
before deploying it on the application server.
Before you begin
Create an SQLJ application using Rational Application
Developer or another development tool.
About this task
To deploy SQLJ applications that do not use container-managed
persistence, translate the SQLJ application first to configure it
for the application server environment. After translation, customize
the SQLJ profiles in the application server, with scripting, or with
the db2sqljcustomizer tool.
SQLJ support for applications that
use bean-managed persistence include these features:
- Customizing and binding SQLJ profiles with the administrative
console or scripting.
- Customizing and binding SQLJ applications again without reinstalling
the application.
Procedure
- Optional: Create a backup copy of your .java
file. For example if your file is called MyServlet.java,
copy MyServlet.java to MyServlet.java.bkup.
- Optional: Rename your .java file to a file
name with an .sqlj extension. For example, if your application
is a servlet named MyServlet.java, rename MyServlet.java to MyServlet.sqlj
- Optional: Edit the SQLJ file to convert the
JDBC syntax to SQLJ syntax. When using SQLJ, if you
want connection management for the application server to function
properly, specify correct connection contexts.
For example, convert
the following JDBC operation:
Connection con = dataSource.getConnection();
Statement stmt = con.createStatement();
stmt.execute("INSERT INTO users VALUES (1, 'user1')");
con.commit();
to the following SQLJ:
// At the top of the file and just below the import statements, define Connection_Context
#sql context Connection_context;
.
.
Connection con = dataSource.getConnection();
.
.
Connection_context ctx1 = new Connection_context(con);
.
.
#sql [ctx1] {INSERT INTO users VALUES (1, 'user1')};
.
.
con.commit(); ctx1.close();
When you run the SQLJ translator,
the
.java file that is created has the same name as your
old
.java file. This provides you with a seamless transition
to the SQLJ technology.
- From your DB2 installation, copy the sqlj.zip file
to a directory on your workstation. Modify the Java build
path of your enterprise bean Java archive
(JAR) file project to include the sqlj.zip file.
- Use Rational Application Developer or the DB2 SQLJ
translator to automatically translate SQLJ.
- Use Rational Application Developer:
- In the Project Navigator, right-click your JAR project, and select Add
SQLJ Support....
- Select the check boxes for the applications for which you want
SQLJ support.
- In the SQLJ JAR file field, type the fully
qualified path to the sqlj.zip file that you
previously copied to your workstation.
- Click Finish.
- Export the enterprise archive (EAR) file.
- Use the DB2 SQLJ translator. This tool creates a .java version
of the .sqlj file and a serialized profile, with an .ser extension,
that is used later in processing. Refer to the DB2 documentation
for more information about the SQLJ translator tool.
- Package your JAR file for the enterprise application.
- Install the application onto the application server, or
customize the profiles with the db2sqljcustomize tool.
- Customize the profiles with the application server.
- Package the JAR file for your enterprise beans, servlets, and
any .ser files into an enterprise archive.
- Install the application in the application server, and customize
SQLJ profiles with the administrative console or the wsadmin tool.
Avoid trouble: Do not select
Deploy
enterprise beans during the application installation process
in the administrative console. If you redeploy the enterprise beans
from the administrative console, you lose the customization changes
that you have made.
gotcha
The application server provides enhanced
support for SQLJ applications. Install the SQLJ application in the
application server, and you can customize and bind SQLJ profiles through
the administrative console or scripting:- To customize the SQLJ profiles with the administrative console,
read the topic about customizing and binding profiles for Structured
Query Language in Java (SQLJ) applications.
- To customize SQLJ profiles with scripting, read the topic about
the application management command group for the AdminTask object.
- To use the db2sqljcustomize tool, read the topic about customizing
and binding SQLJ profiles with the db2sqljcustomize tool for more
information.