| Installing Upgrading Designing Configuring Deploying Monitoring Administering Troubleshooting Reference JBI Components | |
| Close Print View | |
| Designing: The Table |
|
Creating a Runtime Environment
Designing Business Processes in the Sun Business Process Manager
Working with TCP/IP HL7 Collaborations
Developing Sun Master Indexes (Repository)
Developing Sun Master Patient Indexes
Developing OTDs for Application Adapters
Developing OTDs for Communication Adapters
Developing OTDs for Database Adapters
Developing OTDs for Web Server Adapters
Designing with Application Adapters
Designing with Communication Adapters
Designing with Web Server Adapters
Designing with Sun JCA Adapters
Defining Constants and Variables
JDBC Adapter Database Operations (BPEL)
JDBC Adapter Database Operations (JCD)
Sybase Adapter Database Operations (BPEL)
Sybase Adapter Database Operations (JCD)
VSAM Adapter Database Operations (BPEL)
VSAM Adapter Database Operations (JCD)
SQL Server Adapter Database Operations (BPEL)
SQL Server Adapter Database Operations (JCD)
DB2 Database Operations (BPEL)
DB2 Connect Adapter Database Operations (BPEL)
DB2 Connect Adapter Database Operations (JCD)
Oracle Adapter Database Operations (BPEL)
Oracle Adapter Outbound XA Support for BPEL
Oracle Adapter Database Operations (JCD)
Long RAW for Prepared Statements and Stored Procedure support:
A table OTD represents a database table. It consists of fields and methods. Fields correspond to the columns of a table while methods are the operations that you can apply to the OTD. This allows you to perform Query, Update, Insert, and Delete SQL operations in a table. The ability to update via a ResultSet is called “Updatable ResultSet”, which is a feature supported by this adapter.
By default, the Table OTD has UpdatableConcurrency and ScrollTypeForwardOnly. Normally you do not have to change the default setting.
The type of result returned by the select() method can be specified using:
SetConcurrencytoUpdatable
SetConcurrencytoReadOnly
SetScrollTypetoForwardOnly
SetScrollTypetoScrollSensitive
SetScrollTypetoInsensitive
For example:
package prjJDBC_JCDjcdALL;
public class jcdTableSelect
{
public com.stc.codegen.logger.Logger logger;
public com.stc.codegen.alerter.Alerter alerter;
public com.stc.codegen.util.CollaborationContext collabContext;
public com.stc.codegen.util.TypeConverter typeConverter;
public void receive( com.stc.connector.appconn.file.FileTextMessage
input, dtd.otdInputDTD_1394195520.DBemployees otdInputDTD_DBemployees_1,
otdJDBC.OtdJDBCOTD otdJDBC_1, dtd.otdOutputDTD882991309.DBemployee
otdOutputDTD_DBemployee_1, com.stc.connector.appconn.file.FileApplication
FileClient_1 ) throws Throwable
{
FileClient_1.setText( "Selecting record(s) from db_employee table via
table select .." );
FileClient_1.write();
otdJDBC_1.getDB_EMPLOYEE().select( input.getText() );
while (otdJDBC_1.getDB_EMPLOYEE().next()) {
otdOutputDTD_DBemployee_1.setEmpNo( typeConverter.shortToString(
otdJDBC_1.getDB_EMPLOYEE().getEMP_NO(), "#", false, "" ) );
otdOutputDTD_DBemployee_1.setLastname(
otdJDBC_1.getDB_EMPLOYEE().getLAST_NAME() );
otdOutputDTD_DBemployee_1.setFirstname(
otdJDBC_1.getDB_EMPLOYEE().getFIRST_NAME() );
otdOutputDTD_DBemployee_1.setRate(
otdJDBC_1.getDB_EMPLOYEE().getRATE().toString() );
otdOutputDTD_DBemployee_1.setLastDate(
typeConverter.dateToString( otdJDBC_1.getDB_EMPLOYEE().getLAST_UPDATE(),
"yyyy-MM-dd hh:mm:ss", false, "" ) );
FileClient_1.setText( otdOutputDTD_DBemployee_1.marshalToString() );
FileClient_1.write();
}
FileClient_1.setText( "Done table select." );
FileClient_1.write();
}
}This example inserts an employee record.
package prjJDBC_JCDjcdALL;
public class jcdInsert
{
public com.stc.codegen.logger.Logger logger;
public com.stc.codegen.alerter.Alerter alerter;
public com.stc.codegen.util.CollaborationContext collabContext;
public com.stc.codegen.util.TypeConverter typeConverter;
public void receive( com.stc.connector.appconn.file.FileTextMessage input,
com.stc.connector.appconn.file.FileApplication FileClient_1,
dtd.otdInputDTD_1394195520.DBemployees otdInputDTD_DBemployees_1,
dtd.otdOutputDTD882991309.DBemployee otdOutputDTD_DBemployee_1,
otdJDBC.OtdJDBCOTD otdJDBC_1 )
throws Throwable
{
FileClient_1.setText( "Inserting records into db_employee table .." );
FileClient_1.write();
otdInputDTD_DBemployees_1.unmarshalFromString( input.getText() );
for (int i1 = 0; i1 < otdInputDTD_DBemployees_1.countX_sequence_A(); i1 += 1) {
otdJDBC_1.getInsert_Ps().setEmp_no( typeConverter.stringToShort(
otdInputDTD_DBemployees_1.getX_sequence_A( i1 ).getEmpNo(), "#", false, 0 ) );
otdJDBC_1.getInsert_Ps().setLast_name(
otdInputDTD_DBemployees_1.getX_sequence_A( i1 ).getLastname() );
otdJDBC_1.getInsert_Ps().setFirst_name(
otdInputDTD_DBemployees_1.getX_sequence_A( i1 ).getFirstname() );
otdJDBC_1.getInsert_Ps().setRate(
new java.math.BigDecimal( otdInputDTD_DBemployees_1.getX_sequence_A( i1 ).
getRate() ) ); otdJDBC_1.getInsert_Ps().setLast_update(
typeConverter.stringToSQLDate( otdInputDTD_DBemployees_1.
getX_sequence_A( i1 ).getLastDate(), "yyyy-MM-dd hh:mm:ss", false, "" ) );
otdJDBC_1.getInsert_Ps().executeUpdate();
}
FileClient_1.setText( "Done Insert." );
FileClient_1.write();
}
}package prjJDBC_JCDjcdALL;
public class jcdUpdate
{
public com.stc.codegen.logger.Logger logger;
public com.stc.codegen.alerter.Alerter alerter;
public com.stc.codegen.util.CollaborationContext collabContext;
public com.stc.codegen.util.TypeConverter typeConverter;
public void receive( com.stc.connector.appconn.file.FileTextMessage input,
otdJDBC.OtdJDBCOTD otdJDBC_1, dtd.otdOutputDTD882991309.DBemployee
otdOutputDTD_DBemployee_1, dtd.otdInputDTD_1394195520.DBemployees
otdInputDTD_DBemployees_1, com.stc.connector.appconn.file.FileApplication
FileClient_1 ) throws Throwable
{
FileClient_1.setText( "Update the Rate and Last_update
fields using Prepared Statement.. " );
FileClient_1.write();
otdJDBC_1.getUpdate_Ps().setEmp_no( typeConverter.stringToShort(
input.getText(), "#", false, 0 ) );
otdJDBC_1.getUpdate_Ps().executeUpdate();
FileClient_1.setText( "Done Update." );
FileClient_1.write();
}
}In this example DELETE an employee.
package prjJDBC_JCDjcdALL;
public class jcdDelete
{
public com.stc.codegen.logger.Logger logger;
public com.stc.codegen.alerter.Alerter alerter;
public com.stc.codegen.util.CollaborationContext collabContext;
public com.stc.codegen.util.TypeConverter typeConverter;
public void receive( com.stc.connector.appconn.file.
FileTextMessage input, dtd.otdInputDTD_1394195520.DBemployees
otdInputDTD_DBemployees_1, otdJDBC.OtdJDBCOTD otdJDBC_1,
dtd.otdOutputDTD882991309.DBemployee otdOutputDTD_DBemployee_1,
com.stc.connector.appconn.file.FileApplication FileClient_1 )
throws Throwable
{
FileClient_1.setText( "Delete record .." );
FileClient_1.write();
otdJDBC_1.getDB_EMPLOYEE().delete( input.getText() );
FileClient_1.setText( "Done delete." );
FileClient_1.write();
}
}