Acesse bancos de dados a partir do código Java incluído no nó JavaCompute.
Os bancos de dados que você acessa utilizando MbSQLStatement podem participar de transações coordenadas globalmente. Em todos os outros casos, o acesso ao banco de dados não pode ser globalmente coordenado.
A classe MbSQLStatement fornece acesso completo ao banco de dados transacional utilizando ESQL e ODBC. O gerenciador de recursos do intermediário coordena acesso ao banco de dados ao utilizar MbSQLStatement. A coordenação global é fornecida pelo WebSphere MQ em plataformas distribuídas e por RRS no z/OS. Para obter informações sobre como configurar os recursos ODBC necessários, consulte Ativando as Conexões ODBC para os Bancos de Dados.
MbMessage newMsg = new MbMessage(assembly.getMessage()); MbMessageAssembly newAssembly = new MbMessageAssembly(assembly, newMsg); String table = "dbTable"; MbSQLStatement state = createSQLStatement( "dbName", "SET OutputRoot.XMLNS.integer[] = PASSTHRU('SELECT * FROM " + table + "');" ); state.setThrowExceptionOnDatabaseError(false); state.setTreatWarningsAsErrors(true); state.select( assembly, newAssembly ); int sqlCode = state.getSQLCode(); if(sqlCode != 0) { // Fazer tratamento de erros aqui } getOutputTerminal("out").propagate(assembly);
É possível acessar APIs Java padrão no código gravado para seus nós JavaCompute, incluindo chamadas JDBC. Portanto, é possível utilizar APIs JDBC para conectar a um banco de dados, gravar ou ler a partir do banco de dados e desconectar do banco de dados. O intermediário permite que seu código de conexão JDBC chame drivers JDBC tipo 2 e tipo 4 nesse ambiente, mas não fornece os mesmos. Você deve obter esses drivers a partir de seu fornecedor de banco de dados.
Se escolher esse método para acessar bancos de dados, o intermediário não fornece nenhum suporte para gerenciar as transações; seu código deve gerenciar a confirmação e recuperação local das alterações do banco de dados. Seu código deve gerenciar o ciclo de vida da conexão, a afinidade do encadeamento da conexão e o conjunto de conexões. Você também deve monitorar o acesso a bancos de dados ao utilizar essa técnica para assegurar que essas conexões não causam nenhuma interferência com conexões feitas pelo intermediário. Especificamente, esteja ciente de que os drivers tipo 2 fazem a ponte com uma conexão ODBC que pode estar em utilização nos fluxos de mensagens que acessam bancos de dados a partir de ESQL.