quarta-feira, 4 de julho de 2012

BPEL 11g - Cannot call Connection.commit in distributed transaction

Esse erro ocorre pois esta se utilizando uma conexão não global em um datasource que esta habilitada a opção de suporte a transações distribuidas. Para resolver o problema siga os passos abaixo:


1.Acesse o consoole de administração do Weblogic (server:port/console)
2.Vá na opção Services->Datasources
3.Selecione o Datasource em questão e vá em Configuration->Connection Pool
4.Verifique se o driver utilizado é oracle.jdbc.OracleDriver, caso não seja, mude para este. Salve.
5.Vá em Transaction e desmarque a opção Supports Global Transactions.
6.Salve e reinicie a instância do datasource.



quinta-feira, 12 de abril de 2012

ODI - Verificando o valor de uma variável na execução

Muitas vezes precisamos saber o valor de uma variável em um pacote no momento da execução. Uma maneira simples de fazer isso é criar uma procedure com o código abaixo:

vVar = '#V_VARIAVEL_NAME'
raise(a) 


Selecione a tecnologia Jython e marque a opção Ignorar erros. 
Agora basta colocar essa procedure em seu pacote no ponto em que deseja visualizar o valor da variável. Execute e confira no Operator o resultado.

Você pode aperfeiçoar essa procedure criando uma Option onde essa recebe a variável que desejar. Dessa forma você pode usar a mesma em todos seus projetos, sempre que precisar verificar o valor de determinada variável.

quarta-feira, 11 de abril de 2012

ODI 11g - Erro em interfaces usando XML (java.sql.SQLException: unknown token)

Em uma interface em que é usado um XML seja como origem, seja como destino o erro abaixo pode acontecer:

ODI-1228: Falha na tarefa 040_XML_TO_DB (Exportar) no destino XML conexão XML_DATA.
Caused By: java.sql.SQLException: unknown token

Para resolver esse problema é necessário no Topology, no esquema físico ao qual o XML se refere remover o $ dos prefixos dos objetos temporários (C$, I$, E$). Abaixo segue o link da Oracle que recomenda esse "workaround" como solução.

http://docs.oracle.com/cd/E21764_01/relnotes.1111/e10132/odi.htm#BGBIBJCJ

quarta-feira, 14 de dezembro de 2011

SQLDeveloper no Linux (Ubuntu 11.10)

Ao instalar o SQLDeveloper no linux, me deparei com a seguinte mensagem ao tentar executar o mesmo:

Type the full pathname of a J2SE installation (or Ctrl-C to quit), the path will be stored in ~/.sqldeveloper/jdk

Para resolver esse problema basta adicionar a seguinte linha no arquivo sqldeveloper.conf:

SetJavaHome /usr/lib/jvm/java-6-openjdk/

 O caminho pode variar dependendo do java que tiver instalado.





terça-feira, 29 de novembro de 2011

JDeveloper - Configurando um servidor SOA para deploy


Vá até a guia Application Server, clique com o botão direto e acesse New Application Server:



Na janela seguinte selecione a opção Standalone Server para mapear um servidor instalado em qualquer máquina da rede. Se deseja usar o servidor que vem integrado com o JDeveloper utilize a segunda opção:



Informe um nome para a conexão com o servidor. Esse nome será exibido na lista de opções de deploy das aplicações:



Informe o usuário e senha apra acesso ao SOA:



Informe os dados do servidor (host, porta e domínio da instalação). Caso não saiba o nome do domínio, não se preocupe, deixe o padrão e no momento que for testar a conexão será exibido o nome correto. Volte e informe o nome correto:



Teste a conexão. Caso o nome do domínio esteja incorreto será exibido uma mensagem com o nome correto dele:



Finish:



Para fazer o deploy no servidor configurado basta clicar com o direito sobre o projeto -> Deploy:



Selecione a opção Deploy to Application Server:



Essa tela muda em algumas versões do Jdev, basicamente nela se altera a versão que deseja gerar e fazer o deploy do projeto:



Selecione o servidor configurado anteriormente:



Selecione a instância SOA que deseja fazer o deploy bem como a partição na mesma:



Confira as informações e Finish:


sexta-feira, 25 de novembro de 2011

JDeveloper - Criando uma conexão com o banco Sybase

Na guia Database Connections, clique com o botão direito e selecione a opção New Connection:




Selecione a opção Generic JDBC:




Clique no botão Browse:




Será necessário criar uma entrada para a biblioteca de conexão com o Sybase. Clique no botão New:




Clique em Add Entry:




Selecione a biblioteca que será utilizada para conexão com o Sybase. No nosso caso iremos usar a jconn3.jar:




Clique em Ok:



Altere o campo Driver Class para com.sybase.jdbc3.jdbc.SybDriver:



Informe os parâmetros da conexão e faça um teste. Importante informar a URL de conexão de acordo com a biblioteca que foi usada. No nosso exemplo ficaria como a tela abaixo:



Pronto!

quarta-feira, 31 de agosto de 2011

ODI - Integrando um campo CLOB (Oracle) para um campo TEXT (Sybase)

Em integrações onde a origem é uma campo CLOB (Oracle) e o destino é um campo TEXT (Sybase) é comum a ocorrência do erro abaixo:

java.lang.NumberFormatException: For input string: "4294967295"


Para resolver esse problema, basta utilizar a package DBM_LOB do Oracle mapeando o cmapo na interface da seguinte forma:

sys.dbms_lob.substr(CAMPO, sys.dbms_lob.getlength(CAMPO) , 1)

sexta-feira, 27 de maio de 2011

E se os motoristas fossem contratados como profissionais de TI?

Vaga: Motorista
Requerimentos Necessários: Experiência em direção veículos normais e de carga pesada, ônibus e caminhões, micro-ônibus, trens, metrô, escavadeiras, tanks de pequeno e grande porte atualmente utilizados pela OTAN.
Experiência em rally e direção defensiva são obrigatórias!
Experiência em Formula-1 é diferencial.
Conhecimento e experiência em reparos de pistões e motores rotor e Wankel, transmissões manual e automática, sistema de ignição, computadores de bordo, ABS, ABD, GPS e sistema de áudio conhecidos mundialmente – obrigatório!
Experiência com pintura e funilaria são diferenciais.
Os interessados devem ter certificados pela BMW, GM e Bosch, mas os certificados devem ter no máximo 2 anos.
Remuneração: $15-$30/hora, depende do resultado da entrevista.
Formação Obrigatória: Bacharelado em Engenharia.

terça-feira, 1 de março de 2011

ODI - Criando uma Interface Amarela

Interfaces amarelas são interfaces no ODI que o destino não esta nos modelos de dados mapeados na guia Modelos. São interfaces onde o destino são criados no desenvolvimento, adicionando colunas manualmente.

Este tipo de interface serve para casos onde os dados da integração devem ser trabalhados antes de inseridos no destino.

Abaixo seguem os passos para criar uma interface amarela:
O processo de criação é igual a uma interface normal. Em interfaces insira uma nova interface:




Após defina o noma da interface e (isso é fundamental), como não existe um destino mapeado é preciso definir qual a área de testes a ser utilizada. Marque a opção indicada e selecione o esquema lógico. A tabela destino da interface será criada nesse esquema.




Insira as tabelas origens da interface, faça os devidos joins.




Agora vamos ao destino. Selecione o destino, defina o nome ada tabela que será criada e marque o esquema que deseja que a tabela seja criada:




Adicione as colunas que desejar. Para isto basta clicar com o direito no destino e ir em Adicionar uma Coluna:




Após defina o nome da coluna e o tipo de dados que ela vai receber:




Adicione todas as colunas que necessitar e faça os devidos mapeamentos:




Na guia Fluxo, não esqueça de marcar a opção para criar a tabela destino da interface:




Pronto, basta salvar que você terá na sua lista de interfaces uma interface amarela (literalmente):




Para usar a tabela criada pela interface criada, basta arrastar a interface amarela direto para a origem de outra interface: