• Nenhum resultado encontrado

É possível usar as soluções recomendadas para resolver problemas comuns de migração.

Resolvendo Problemas de Scripts de Migração

É necessário compilar os scripts de migração antes de poder visualizá-los no console do script do IBM InfoSphere Master Data Management Collaboration Server e executá-los. Você também pode usar recursos do InfoSphere MDM Collaboration Server para resolver problemas de scripts.

Executando scripts de migração compilados

É necessário modificar o arquivo common.properties antes de utilizar scripts compilados.

Para usar scripts compilados, certifique-se de que o arquivo common.properties no diretório $TOP/etc/default tenha a seguinte configuração:

script_execution_mode = compiled_only

É possível desativar a compilação de script para scripts individuais incluindo a seguinte diretiva no início do script:

script_execution_mode=not_compiled

Entanto, desativar a compilação de script no nível de script não é ideal porque isso leva a uma degradação significativa no desempenho. Para evitar a degradação no desempenho ao utilizar scripts não compilados, altere o seu servidor que está definido para not_compiled em vez de usar a opção de desativar a compilação no nível de script.

Se a configuração do servidor no arquivo common.properties for definida para

not_compiled, a compilação de script para scripts individuais não poderá ser ativada

com as diretivas de nível de script.

Nota: Usar uma combinação de scripts compilados e não compilados irá degradar o desempenho e isso não é o ideal. No entanto, se você tiver que usar esta

combinação, há uma limitação: um script não compilado pode iniciar funções em um script compilado, mas um script compilado não pode iniciar uma função em um script não compilado.

Erros Comuns de Compilação de Script

Ao trabalha com scripts compilados, um script pode ser salvo no console do script apenas se for compilado corretamente. Se houver um erro, verifique svc.out no diretório de logs appsvr para a saída javac completa e a mensagem de erro. A seguir estão alguns erros comuns de compilação:

1. Uma instrução break ou return dentro de um bloco forEach*Element() não é compilada devido a um erro "código não atingível". Para corrigir este problema: forEachItemSetElement(itemSet, item)

{

return item;

} Altere-o para: forEachItemSetElement(itemSet, item) { if (item != null) { return item; } }

Este código é equivalente, mas satisfaz o compilador.

2. Se você retornar um valor de uma função, será necessário retornar um valor em cada caso. Em outras palavras, esse código não compila:

function sample() { var e = null; catchError (e) { // do something... return "a string"; } if (e != null) { reportError(...); }

}

Como ele não retorna um valor se ocorrer uma exceção no bloco catchError, é necessário alterá-lo.

function sample() { var e = null; catchError (e) { // do something... return "a string"; } if (e != null) { reportError(...); } return null; }

3. Para problemas graves de compilação, você pode consultar os arquivos Java gerados. Esses arquivos Java gerados estão em um diretório especificado pelo parâmetro tmp_dir em common.properties. A convenção de nomenclatura de arquivo Java foi alterada recentemente para incluir o nome do script e uma sequência gerada, por exemplo: MyScript12345.java.

4. Além disso, o caminho completo do script a partir de docstore é colocado como comentário na parte superior de cada arquivo Java gerado. Se estiver

mapeando docstore para o sistema de arquivos, você poderá executar um comando grep recursivo para descobrir qual arquivo Java corresponde a um script.

Erros e Problemas Comuns de Tempo de Execução

Existem problemas conhecidos que podem ser encontrados ao executar scripts. Esses exemplos ilustram alguns desses problemas conhecidos e fornecem alguns insights sobre como evitá-los ou resolvê-los.

Tipo de argumento inválido:

Um tipo de argumento inválido ocorre quando você está passando o tipo errado de argumento para uma função (por exemplo, um HashMap quando ele requer uma Sequência). Você também pode receber um tipo de argumento inválido quando o IBM InfoSphere Master Data Management

esse problema, pode ser necessário utilizar uma operação de script como

checkString() para tornar o tipo explícito.

Tipos de argumentos incompatíveis em comparações:

Se o mesmo tipo de dados, como ==, >, <, <=, não aparecer em ambos os lados de um operador condicional, a expressão será avaliada como false. Se false, não resultará em uma mensagem de erro, mas o código

correspondente não será executado. Por exemplo, o seguinte não funciona.

var id = “12345”;

var my_id = item.getEntryAttrib(caminho para algum atributo que é uma sequência); if ( id == my_id) {

// instruções que precisam ser executadas, mas não serão }

A solução neste caso é usar explicitamente:

var id = “12345”;

var my_id = checkString(item.getEntryAttrib(//algum atributo que seja uma sequência),””); if ( id == my_id) {

// instruções a serem executadas }

Análise de XML:

O código a seguir funciona no modo não compilado e também no modo compilado quando executado a partir do sandbox de script:

new XmlDocument(xmlDoc); forEachXmlNode("item") { // do the needful }

Entanto, no modo compilado, se este código for usado em uma função de biblioteca de script iniciada por vários usuários, as instruções dentro do bloco forEachXmlNode não serão executadas. Não há nenhuma mensagem de erro; porém, é possível utilizar o código a seguir como uma solução alternativa.

var doc = new new XmlDocument(xmlDoc);

var xmlNode; forEachXmlNode(doc, "item", xmlNode) { //do the needful

}

Resolva problemas e erros de tempo de execução

Para resolver erros de tempo de execução no servidor de aplicativos, consulte o arquivo svc.out no diretório appsvr log. Às vezes, examinar o exception.log e o default.log pode ser útil.

Com a nova convenção de nomenclatura do arquivo Java gerado, é fácil identificar qual script falhou. A mensagem de erro também identifica o número da linha no arquivo Java gerado. Para resolver o problema, visualize o arquivo Java gerado e role até a linha em que ocorreu o erro de tempo de execução. O código Java gerado agora inclui o código de script real como comentários em todas as linhas. Por exemplo, considere a seguinte parte de código a partir de um arquivo Java gerado de amostra

// function checkIfPartyPartyTypeExist(party, partyType)

public static Object ScriptFunction__checkIfPartyPartyTypeExist(HashMap hmContext, Object party, Object partyType) throws Exception

{

// var bRet = false;

Object bRet = (java.lang.Boolean) Boolean.FALSE; // var rootEntry = party.getRootEntryNode();

Object rootEntry = GenGetRootEntryNodeOperation.execute(hmContext , (IEntry) party);

// var entryNodes = rootEntry.getEntryNodes(getCatalogSpecName() + "/Party Types/Party Type Code"); Object entryNodes = GenGetEntryNodesOperation.execute(hmContext , (EntryNode) rootEntry, (String) BinaryOperation.execute(BinaryOperation.PLUS, ScriptFunction__getCatalogSpecName(hmContext), "/Party Types/Party Type Code"));

// var entryNodesSize = entryNodes.size();

Object entryNodesSize = (java.lang.Integer) GenSizeOperation.execute(hmContext , (HashMap) entryNodes);

Cada uma das linhas que começa com // nos comentários anteriores são código real do script correspondente do IBM InfoSphere Master Data Management

Collaboration Server. Esta indicação torna fácil identificar onde ocorreu a falha no script.

Resolvendo Problemas de Migração

Descreve alguns problemas comuns para resolução que podem surgir durante a migração no IBM InfoSphere Master Data Management Collaboration Server.

Problema: exportando grupos de controle de acesso

Ao migrar para o InfoSphere MDM Collaboration Server, é possível ver o seguinte erro relacionado à exportação de grupos e funções de controle de acesso:

AccessControlGroups

Exporting ACG and Roles for company: trigo 7/4/13 6:27 AM STARTED:Export 7/4/13 6:27

AM STARTED:Export of AccessControlGroups 7/4/13 6:27 AM INFO:Skipping export of [Default] 7/4/13 6:27 AM FAILED:Export of AccessControlGroups

Este erro significa que houve uma falha na exportação do grupo de controle de acesso (ACG). Verifique os logs no diretório $TOP/logs/default para descobrir o motivo da falha.

Problema: perguntas de migração de GDS fazem distinção entre

maiúsculas e minúsculas

Todas as migrações do grupo de controle de acesso de GDS antes do InfoSphere MDM Collaboration Server versão 9.1.0-FP011 fazem distinção entre maiúsculas e minúsculas e s ou n deve ser digitado em minúscula. Antes das migrações do InfoSphere MDM Collaboration Server versão 9.1.0-FP12, umS ou N em maiúscula deve ser utilizado para questões de migração de GDS.

Problema: Índices ausentes

Ao migrar para o InfoSphere MDM Collaboration Server, pode haver índices ausentes no relatório do console de migração.

Os seguintes erros relacionados aos índices ausentes podem ocorrer durante a migração:

Índices ausentes na tabela SCA

Índices Ausentes

|============================================================ |SCA_0_PK SCA_CATEGORY_IDSCA_SELECTION_IDSCA_COMPANY_IDSCA_ |CATALOG_IDSCA_CAT_TREE_ID

É possível executar este script PERL para resolver esse problema. Escolhe o diretório db2 ou oracle apropriadamente.

perl $PERL5LIB/runSQL.pl --sql_file=$TOP/src/db/schema /dbscripts/<db2 ou oracle>/sca_pk.sql

Índices ausentes na tabela DBV

Índices Ausentes

|============================================================ |DBV_0_UK DBV_VERSION

É possível executar este script PERL para resolver esse problema. Escolhe o diretório db2 ou oracle apropriadamente.

perl $PERL5LIB/runSQL.pl --sql_file=$TOP/src/db/schema /gen/<db2 or oracle>/ddl_ver_synchronize.sql

. $TOP/bin/compat.sh

$JAVA_RT com.ibm.ccd.synchronize.DBSchemaVersion --autoupd

Índices ausentes nas tabelas DOA e CTG (DB2 somente)

Índices Ausentes

|============================================== | CTG_1_UK CTG_COMPANY_IDCTG_NAME

| DOA_0_UK DOA_DOC_IDDOA_CMP_IDDOA_NAME

É possível executar este script PERL para resolver esse problema: perl $PERL5LIB/runSQL.pl

--sql_command="alter table tctg_ctg_catalog drop constraint ctg_1_uk;" perl $PERL5LIB/runSQL.pl

--sql_command="drop index ictg_ctg_2;" perl $PERL5LIB/runSQL.pl

--sql_command="alter table tctg_ctg_catalog

add constraint ctg_1_uk unique (ctg_company_id, ctg_name);" perl $PERL5LIB/runSQL.pl

--sql_command="create index ictg_ctg_2 on tctg_ctg_catalog ( ctg_name, ctg_company_id) ALLOW REVERSE SCANS;"

perl $PERL5LIB/runSQL.pl

--sql_command="alter table TDOC_DOA_DOC_ATTRIBUTES drop constraint doa_0_uk;"

perl $PERL5LIB/runSQL.pl

--sql_command="drop index idoc_doa_0;" perl $PERL5LIB/runSQL.pl

--sql_command="alter table tdoc_doa_doc_attributes

add constraint doa_0_uk unique (doa_doc_id, doa_cmp_id, doa_name);" perl $PERL5LIB/runSQL.pl

--sql_command="create index idoc_doa_0

on tdoc_doa_doc_attributes ( doa_name, doa_doc_id, doa_cmp_id) ALLOW REVERSE SCANS;"

Problema: Tabelas ausentes ITX e CAX

Ao migrar para o InfoSphere MDM Collaboration Server, pode haver esse erro no relatório de verificação do BD: ___________________________________________________________ |Tabelas Ausentes |=========================================================== | TCTG_CAX_CATEGORY_CONTENT | TCTG_ITX_ITEM_CONTENT |Índices ausentes| | CAX_0_PK CAX_ENTRY_IDCAX_NEXT_VERSION_ID | ITX_0_PK ITX_ENTRY_IDITX_NEXT_VERSION_ID

Esse erro indica um problema com a criação do espaço de tabela, a instalação XDB ou os parâmetros db. Verifique o arquivo errfile.log no diretório $TOP/logs para obter a mensagem exata. Certifique-se de que a configuração do banco de dados seja concluída corretamente e, em seguida, execute o script de migração

novamente.

Problema: Erro de privilégios insuficientes

Ao executa um script de migração para migrar para o InfoSphere MDM

Collaboration Server, pode haver um erro de privilégios insuficientes no console. Exemplos típicos do erro são:

Banco de dados Oracle

Ao utilizar um banco de dados Oracle, o erro pode ser semelhante ao seguinte:

create index icnt_eem_2 on tcnt_eem_entry_entry_map ( *

ERROR na linha 1:

ORA-01031: privilégios insuficientes

Banco de dados DB2

Ao utilizar um banco de dados DB2, o erro pode ser semelhante ao seguinte:

SQL0551N "USERNAME" não tem o privilégio para executar a operação "CREATE INDEX" no objeto "USERNAME.TWFL_WFE_WORKFLOW_EVENT". SQLSTATE=42501

O usuário do banco de dados não tem privilégios suficientes para criar um índice no banco de dados. Deve-se conceder o privilégio "criar índice" ao usuário do banco de dados e, em seguida, executar o script de migração novamente. Deve-se também conceder acesso ao usuário para poder criar e modificar tabelas.

Problema: Falha do script de migração

Ao executar um script de migração para migrar para o InfoSphere MDM

Collaboration Server, o script pode falhar. Um cenário típico de falha de script é:

Falha no módulo data_maintenance_reports

--- Resumo da migração

--- A migração dos seguintes módulos falhou:

data_maintenance_reports

O arquivo $TOP/logs/errfile.log possui o seguinte conteúdo: net.sf.ehcache.distribution.

MulticastKeepaliveHeartbeatReceiver$MulticastReceiverThreadrun

SEVERE: Captura de encadeamento do receptor multicast lançável. A causa era nula. Continuando... Há um problema com os parâmetros de configuração de cache, mas o script de

migração foi executado e concluído com êxito. Verifique seus parâmetros de configuração de cache. Não há necessidade de executar novamente o script de migração.

Avisos

Estas informações foram desenvolvidas para produtos e serviços oferecidos nos Estados Unidos.

Avisos

Essas informações foram desenvolvidas para produtos e serviços oferecidos nos EUA. Este material pode estar disponível na IBM em outros idiomas. No entanto, pode ser necessário possuir uma cópia do produto ou da versão do produto neste idioma a fim de acessá-lo.

É possível que a IBM não ofereça os produtos, serviços ou recursos discutidos nesta publicação em outros países. Consulte um representante IBM local para obter informações sobre produtos e serviços disponíveis atualmente em sua área.

Qualquer referência a produtos, programas ou serviços IBM não significa que apenas produtos, programas ou serviços IBM possam ser utilizados. Qualquer produto, programa ou serviço funcionalmente equivalente, que não infrinja nenhum direito de propriedade intelectual da IBM poderá ser utilizado em substituição a este produto, programa ou serviço. Entretanto, a avaliação e

verificação da operação de qualquer produto, programa ou serviço não IBM são de responsabilidade do Cliente.

A IBM pode ter patentes ou solicitações de patentes pendentes relativas a assuntos tratados nesta publicação. O fornecimento desta publicação não lhe garante direito algum sobre tais patentes. Pedidos de licença devem ser enviados, por escrito, para:

Gerência de Relações Comerciais e Industriais da IBM Brasil Av. Pasteur, 138-146

Botafogo

Rio de Janeiro, RJ CEP 22290-240

Para consultas sobre licença relacionadas a informações de DBCS (Conjunto de Caracteres de Byte Duplo), entre em contato com o Departamento de Propriedade Intelectual da IBM em seu país ou envie consultas, por escrito, para:

Intellectual Property Licensing Legal and Intellectual Property Law IBM Japan Ltd.

19-21, Nihonbashi-Hakozakicho, Chuo-ku Tokyo 103-8510, Japan

O parágrafo a seguir não se aplica ao Reino Unido nem a nenhum país em que tais provisões não estejam de acordo com a lei local:A INTERNATIONAL BUSINESS MACHINES CORPORATION FORNECE ESTA PUBLICAÇÃO "NO ESTADO EM QUE SE ENCONTRA", SEM GARANTIA DE NENHUM TIPO, SEJA EXPRESSA OU IMPLÍCITA, INCLUINDO, MAS A ELAS NÃO SE LIMITANDO, AS GARANTIAS IMPLÍCITAS DE NÃO INFRAÇÃO, COMERCIALIZAÇÃO OU ADEQUAÇÃO A UM DETERMINADO PROPÓSITO. Alguns países não permitem a exclusão de garantias expressas ou implícitas em certas transações; portanto, essa disposição pode não se aplicar ao Cliente.

Essas informações podem conter imprecisões técnicas ou erros tipográficos. São feitas alterações periódicas nas informações aqui contidas; tais alterações serão incorporadas em futuras edições desta publicação. A IBM pode, a qualquer momento, aperfeiçoar e/ou alterar os produtos e/ou programas descritos nesta publicação, sem aviso prévio.

Referências nestas informações a websites não IBM são fornecidas apenas por conveniência e não representam de forma alguma um endosso a esses websites. Os materiais contidos nesses websites não fazem parte dos materiais desse produto IBM e a utilização desses websites é de inteira responsabilidade do Cliente. A IBM pode utilizar ou distribuir as informações fornecidas da forma que julgar apropriada sem incorrer em qualquer obrigação para com o Cliente.

Licenciados deste programa que desejam obter informações sobre este assunto com objetivo de permitir: (i) a troca de informações entre programas criados

independentemente e outros programas (incluindo este) e (ii) a utilização mútua das informações trocadas, devem entrar em contato com:

Gerência de Relações Comerciais e Industriais da IBM Brasil Av. Pasteur 138-146

Botafogo

Rio de Janeiro, RJ CEP 22290-240

Tais informações podem estar disponíveis, sujeitas a termos e condições apropriadas, incluindo em alguns casos o pagamento de uma taxa.

O programa licenciado descrito neste documento e todo o material licenciado disponível são fornecidos pela IBM sob os termos do IBM Customer Agreement, do Contrato de Licença do Programa Internacional da IBM ou de qualquer outro contrato equivalente.

Todos os dados de desempenho aqui contidos foram determinados em um ambiente controlado. Portanto, os resultados obtidos em outros ambientes operacionais podem variar significativamente. Algumas medidas podem ter sido tomadas em sistemas em nível de desenvolvimento e não há garantia de que estas medidas serão iguais em sistemas geralmente disponíveis. Além disso, algumas medidas podem ter sido estimadas por extrapolação. Os resultados reais podem variar. Os usuários deste documento devem verificar os dados aplicáveis para seu ambiente específico.

As informações relativas a produtos não IBM foram obtidas junto aos fornecedores dos respectivos produtos, de seus anúncios publicados ou de outras fontes

disponíveis publicamente. A IBM não testou estes produtos e não pode confirmar a precisão de seu desempenho, compatibilidade nem qualquer outra reivindicação relacionada a produtos não IBM. Dúvidas sobre os recursos de produtos não IBM devem ser encaminhadas diretamente a seus fornecedores.

Todas as declarações relacionadas aos objetivos e intenções futuras da IBM estão sujeitas a mudanças ou retiradas sem aviso prévio e representam apenas metas e objetivos.

Estas informações contêm exemplos de dados e relatórios utilizados nas operações diárias de negócios. Para ilustrá-los da forma mais completa possível, os exemplos

incluem nomes de indivíduos, empresas, marcas e produtos. Todos estes nomes são fictícios e qualquer semelhança com os nomes e endereços utilizados por uma empresa real é mera coincidência.

LICENÇA DE COPYRIGHT:

Estas informações contêm programas de aplicativos de amostra na linguagem fonte, ilustrando as técnicas de programação em diversas plataformas operacionais. O Cliente pode copiar, modificar e distribuir estes programas de amostra sem a necessidade de pagar à IBM, com objetivos de desenvolvimento, utilização, marketing ou distribuição de programas aplicativos em conformidade com a interface de programação de aplicativo para a plataforma operacional para a qual os programas de amostra são criados. Esses exemplos não foram testados

completamente em todas as condições. Portanto, a IBM não pode garantir ou implicar a confiabilidade, manutenção ou função destes programas. Os programas de amostra são fornecidos "NO ESTADO EM QUE SE ENCONTRAM", sem garantia de nenhum tipo. A IBM não é responsável por nenhum dano decorrente do uso dos programas de amostra.

Cada cópia ou parte destes programas de amostra ou qualquer trabalho derivado deve incluir um aviso de copyright com os dizeres:

© (nome da empresa) (ano). Partes deste código são derivadas dos Programas de Amostras da IBM Corp. © Copyright IBM Corp. _digite o ano ou anos_. Todos os Direitos Reservados.

Se estas informações estiverem sendo exibidas em cópia eletrônica, as fotografias e ilustrações coloridas podem não aparecer.

Considerações de Política de Privacidade

Os produtos de Software IBM, incluindo soluções de software como serviço, ("Ofertas de Software") podem usar cookies ou outras tecnologias para coletar informações sobre o uso do produto, a fim de ajudar a melhorar a experiência do usuário final, para customizar as interações com o usuário final ou para outros propósitos. Em muitos casos, nenhuma informação identificável pessoalmente é coletada pelas Ofertas de Software. Algumas de nossas Ofertas de Software podem ajudá-lo a coletar informações identificáveis pessoalmente. Se essa Oferta de Software usar cookies para coletar informações identificáveis pessoalmente, informações específicas sobre o uso de cookies desta oferta são estabelecidas abaixo.

Dependendo das configurações implementadas, essa Oferta de Software pode usar cookies de sessão e persistentes que coletam o nome de cada usuário, o nome de usuário, a senha, o nome do perfil ou outras informações identificáveis

pessoalmente para propósitos de gerenciamento de sessões, autenticação,

usabilidade de usuário aprimorada, configuração de conexão única ou identificação de página da web que o usuário tentou carregar antes de efetuar login. Esses cookies podem ser desativados, mas desativá-los provavelmente também eliminará a funcionalidade que eles ativam.

Se as configurações implementadas nesta Oferta de Software fornecerem a você como cliente a capacidade de coletar informações identificáveis pessoalmente dos usuários finais por meio de cookies e outras tecnologias, você deverá consultar com seu próprio conselho jurídico sobre as leis aplicáveis a tal coleta de dados,

Documentos relacionados