Hi,
Juste a mini-post concerning the configuation of DATASOURCE on Documentum server.
The DATASOURCE (DS) are configurable:
- in windows via the ODBC Data Source Administrator https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/open-the-odbc-data-source-administrator
- in JAVA METHOD SERVER (Jboss) via the file D:\Documentum\jboss7.1.1\server\DctmServer_MethodServer\configuration\standalone.xml
Here, the example for the DS “java:/MY_ARCHIVE_DS” :
<?xml version='1.0' encoding='UTF-8'?> <server xmlns="urn:jboss:domain:1.2"> <profile> <subsystem xmlns="urn:jboss:domain:datasources:1.0"> <datasources> <datasource jndi-name="java:/MY_ARCHIVE_DS" pool-name="MY_ARCHIVE_DS" enabled="true" use-java-context="true"> <connection-url>jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=MYDBSERVER123)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=MYARCHIVE)))</connection-url> <driver>oracle.jdbc</driver> <pool> <min-pool-size>5</min-pool-size> <max-pool-size>100</max-pool-size> </pool> <security> <user-name>MY_APP_USER</user-name> <password>WD{HUO/dfdfdsfdsfh]-DUHi</password> </security> <validation> <exception-sorter class-name="org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter"/> </validation> </datasource> <drivers> <driver name="h2" module="com.h2database.h2"> <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class> </driver> <driver name="oracle.jdbc" module="oracle.jdbc"> <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class> </driver> <driver name="sqljdbc" module="com.microsoft.sqlserver"> <driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class> </driver> </drivers> </datasources> </subsystem> </profile> <interfaces> </interfaces> <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}"> </socket-binding-group> </server>
The use of this DS in the JOB/JAVA code could be:
private static final String DS = "MY_ARCHIVE_DS"; private static final String JNDI_PREFIX[] = { "java:/", "java:", "jdbc/" }; //... InitialContext ic = new InitialContext(); for (int i = 0; i < JNDI_PREFIX.length && dataSource == null; i++) { try { dataSource = (DataSource) ic.lookup(JNDI_PREFIX[i] + DS); } catch (NamingException e) { } } if (dataSource == null) { throw new Exception("Unable to find datasource " + DS); } //... Connection connection = dataSource.getConnection(); try { connection.setAutoCommit(false); PreparedStatement statement = connection.prepareStatement(MessageFormat.format(sql.toString(), StringUtils.upperCase(StringUtils.trimToEmpty(table)), year.format(coll.getTime("time_stamp").getDate()))); //... Save the original data in a BLOB field in ARCHIVE database Blob blob = connection.createBlob(); //... statement.executeUpdate(); //... blob.free(); //... statement.close(); //... } finally { if(connection!=null){ if (commit) { connection.commit(); println("SqlConnection transaction commited !"); } else { connection.rollback(); println("SqlConnection transaction rollbacked !"); } connection.close(); } }
That’s all!!!
Huseyin OZVEREN