Database Version Error


#1

Olá galera,

Estou tentando instalar o AdempiereLBR 342s, já executei os seguintes passos com sucesso:

  1. Instalar o Java (JDK v.1.6u13)
  2. Instalar o PostgreSQL (com Adminpack e PL/Java)
  3. Corrigir o PATH para incluir:
    • C:\Java\JRE\bin
    • C:\Java\JRE\bin\client
    • C:\PostgreSQL\bin
  4. Extrair o Adempiere para C:\Adempiere
  5. Criar o usuário “adempiere” no PostgreSQL selecionando “Superuser”, “Can create database objects”, “Can create roles”, “Can modify catalog directly”
  6. Abrir um “cmd”:
    • Em C:\Adempiere\data, rodar:
    • psql -U adempiere -d adempiere -c “drop schema sqlj cascade”
    • psql -U adempiere -d adempiere -f Adempiere_pg.dmp >> dump_errors.log
    • Procurar por erros no arquivo dump_errors.log (Nenhum erro encontrado)
  7. Em C:\Adempiere, executar o “RUN_setup.bat”
  8. Em C:\Adempiere\utils, executar o “RUN_ImportAdempiere.bat”

Porém, quando tento iniciar o Adempiere, após digitar as informações nas telas de login, eu recebo a seguinte mensagem:

Database Version Error

The program assumes Database version 2008-12-08, but Database has Version 2008-03-26.
This is likely to cause hard to fix errors.
Please stop and migrate the database immediately.

Aparece dois botões, NO e MIGRATE.
Se eu selecionar o NO, ele entra no programa. O MIGRATE me direciona para uma página na web.

Por acaso o dump do banco de dados que vem com o arquivo compactado do AdempiereLBR 342 não tem a versão correta?

Obrigado


Algumas telas travam
#2

Bom, aparentemente consegui corrigir o problema, com uma solução um tanto estranha:

  • Apaguei o Banco de Dados Adempiere
  • Criei o Banco de Dados novamente
  • Dentro do arquivo ExpDat.jar na pasta C:\Adempiere, tem um arquivo ExpDat.dmp. Copiei este arquivo para C:\Adempiere\data
  • Rodei o C:\Adempiere\utils[b]RUN_DBRestore.bat[/b]

Agora ele logou no sistema sem dar nenhuma mensagem de aviso, e já está com tudo traduzido.

“Adivinhei” esta solução lendo o arquivo install-AdempiereLBR.doc que tem na parte de Downloads do projeto AdempiereLBR no SourceForge.

Se alguém aí souber se esta solução está correta, por favor, responda neste post. Mas volto a dizer que realmente é bem estranha se for esta a solução. Ainda continuo questionando qual o motivo do dump do banco de dados estar com a versão errada no arquivo compactado do AdempiereLBR 342s ??

Obrigado


#3

Carlos,

O procedimento está correto.

O arquivo .dmp que vem por padrão na pasta /data do Adempiere, é o banco de dados padrão do Adempiere, sem os objetos do AdempiereLBR.

Observei neste post também que deve ter sido lançado o update 13 do Java 6, que ainda não testei.

O problema da janela “travando” do seu outro post pode estar relacionado a versão do Java, para ter certeza, eu estou utilizando o update 10, sem problema algum.

Um abraço,
Eduardo.


#4

Meu problema é parecido, porém no meu caso eu tenho um banco na versão anterior (3.4.0s) e preciso atualizar pra 3.4.2s.

Executei todos os scripts dentro do migration 340s-342s da tag adempiere342 e tudo beleza, mas e em relação ao AdempiereLBR? O que mudou da 3.4.0s pra 3.4.2s e quais são os scripts pra eu aplicar? Vejo vários sqls na pasta db_scripts mas não faço idéia se posso executar todos ou então se é pra executar só alguns.


#5

MIchels,

Dependendo da sua versão do LBR não tem como saber, hoje existe um processo que você pode acessar no client System que exibe qual o último script executado no LBR.

De qualquer forma, executar os scripts novamente não irá causar nenhum problema, apenas irá gerar vários erros quando os scripts forem inserir registros já existentes nas tabelas.

Para a versão 3.4.2 do ADempiere, você pode estar utilizando o código que está em branches/RC-110, que é nossa versão estável mais recente.

Se você optar pelo trunk, neste momento estamos modificando várias coisas, portanto se é para um sistema em produção, recomendamos a versão RC-110.

Um abraço,
Eduardo.


#6

Oi Edu,

Ok, vou tentar… ontem fiz um upgrade mas deu uns problemas em relação a impostos que não conseguia salvar linhas de ordem de venda, vai ver era pq eu estava usando trunk. Vou tentar novamente com o rc110 pra ver se o erro desaparece.

Só pra confirmar, qual a ordem das pastas, pra execuçao dos scripts? Primeiro 100b, depois 100b-100 e por último 100-rc110? Ou nada a ver e 100-rc110 é um “apanhado” geral e só é necessário executar os que estao la?

edit: executei os scripts todos na ordem q eu mencionei e está tudo ok (100b nao precisava, 100b-100 só um ou outro no final executou e 100-rc110 todos), agora nao sei se o problema era o uso do trunk ou eu q nao tinha aplicado os sql. Depois eu atualizo pra trunk pra descobrir, agora vou ver o jogo do timao :smiley:

edit2: era o trunk sim, só funciona no rc110.

Valeu!


#7

Olá pessoal!

Estou me documentando sobre o Adempiere para implantá-lo na nossa empresa. A instalação parece que deu certo, salvo por uma coisa.

O problema aparece ao iniciar o Adempiere. Acontece igual que o caso do Carlos Pauluk, após digitar as informações nas telas de login, eu uma mensagem parecida à dele, mas falando que a versão do BD é mais nova que a que o programa espera:

The program assumes Database version 2008-12-08, but Database has Version 2008-03-26. This is likely to cause hard to fix errors. Please stop and migrate the database immediately.

Aparecem dois botões, NO e MIGRATE.
Se eu selecionar o NO, ele entra no programa. O MIGRATE me direciona para uma página na web.

O funcionamento do programa parece correto, pero descubri que tem erros (suponho que pelas versões diferentes do BD). Por exemplo, ao ver “Informação de Produto”, e fazer a pesquisa do produto, no eclipse aparece o erro a seguir:

[code][INFO] MLog clients using com.mchange.v2.log.FallbackMLog logging.
[INFO] Initializing c3p0-0.9.1.2 [built 21-May-2007 15:04:56; debug? true; trace: 10]
[INFO] Initializing c3p0 pool… com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement -> 3, acquireRetryAttempts -> 2, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, dataSourceName -> AdempiereDS, debugUnreturnedConnectionStackTraces -> false, description -> null, driverClass -> org.postgresql.Driver, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> 2rxcsc8911wxzth19rhtoc|12be1bd, idleConnectionTestPeriod -> 1200, initialPoolSize -> 1, jdbcUrl -> jdbc:postgresql://localhost:5432/adempiere?encoding=UNICODE, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 900, maxIdleTimeExcessConnections -> 1200, maxPoolSize -> 15, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 1, numHelperThreads -> 3, numThreadsAwaitingCheckoutDefaultUser -> 0, preferredTestQuery -> SELECT Version FROM AD_System, properties -> {user=******, password=******}, propertyCycle -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false ]
-----------> DB.isBuildOK: Build Version Error

The program assumes build version ADempiere, but database has build version ${env.ADEMPIERE_VERSION} 20100624-0830.
This is likely to cause hard to fix errors.
Please contact administrator.
-----------> Msg.getMsg: NOT found: ProductCategory [11]
-----------> Msg.getMsg: NOT found: Brand [11]
-----------> Msg.translate: NOT found: Attributes [11]
-----------> Msg.translate: NOT found: UOM [11]
-----------> Msg.translate: NOT found: Brand [11]
===========> InfoProduct.run: SELECT Distinct(p.M_Product_ID), p.Discontinued, p.Value, p.Name, (select uot.name from c_uom_trl uot where uot.c_uom_id = p.c_uom_id and uot.ad_language = ‘pt_BR’) as uom, p.lbr_Brand, bomQtyAvailable(p.M_Product_ID,?,0) AS QtyAvailable, bomPriceList(p.M_Product_ID, pr.M_PriceList_Version_ID) AS PriceList, bomPriceStd(p.M_Product_ID, pr.M_PriceList_Version_ID) AS PriceStd, bomQtyOnHand(p.M_Product_ID,?,0) AS QtyOnHand, bomQtyReserved(p.M_Product_ID,?,0) AS QtyReserved, bomQtyOrdered(p.M_Product_ID,?,0) AS QtyOrdered, pa.IsInstanceAttribute, p.UPC FROM M_Product p LEFT OUTER JOIN M_ProductPrice pr ON (p.M_Product_ID=pr.M_Product_ID AND pr.IsActive=‘Y’) LEFT OUTER JOIN M_AttributeSet pa ON (p.M_AttributeSet_ID=pa.M_AttributeSet_ID) LEFT OUTER JOIN M_Product_PO ppo ON (p.M_Product_ID=ppo.M_Product_ID) LEFT OUTER JOIN C_BPartner bp ON (ppo.C_BPartner_ID=bp.C_BPartner_ID) WHERE p.IsActive=‘Y’ AND p.IsSummary=‘N’ AND pr.M_PriceList_Version_ID=? AND M_Product_Category_ID IN (111,112,105,106,107,108,109,110,2000000,2000001,0) AND p.AD_Client_ID IN(2000001,0) AND p.AD_Org_ID IN(2000001,0) AND p.M_Product_ID NOT IN ( SELECT Record_ID FROM AD_Private_Access WHERE AD_Table_ID = 208 AND AD_User_ID <> 2000003 AND IsActive = ‘Y’ ) AND pa.M_AttributeSet_ID NOT IN ( SELECT Record_ID FROM AD_Private_Access WHERE AD_Table_ID = 560 AND AD_User_ID <> 2000003 AND IsActive = ‘Y’ ) AND bp.C_BPartner_ID NOT IN ( SELECT Record_ID FROM AD_Private_Access WHERE AD_Table_ID = 291 AND AD_User_ID <> 2000003 AND IsActive = ‘Y’ ) ORDER BY p.Name ASC [12]
org.postgresql.util.PSQLException: ERRO: coluna p.lbr_brand não existe; State=42703; ErrorCode=0
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1548)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1316)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:191)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:351)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:255)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:76)
at org.compiere.util.CPreparedStatement.executeQuery(CPreparedStatement.java:121)
at org.compiere.apps.search.Info$Worker.run(Info.java:1083)

===========> InfoProduct.run: SELECT Distinct(p.M_Product_ID), p.Discontinued, p.Value, p.Name, (select uot.name from c_uom_trl uot where uot.c_uom_id = p.c_uom_id and uot.ad_language = ‘pt_BR’) as uom, p.lbr_Brand, bomQtyAvailable(p.M_Product_ID,?,0) AS QtyAvailable, bomPriceList(p.M_Product_ID, pr.M_PriceList_Version_ID) AS PriceList, bomPriceStd(p.M_Product_ID, pr.M_PriceList_Version_ID) AS PriceStd, bomQtyOnHand(p.M_Product_ID,?,0) AS QtyOnHand, bomQtyReserved(p.M_Product_ID,?,0) AS QtyReserved, bomQtyOrdered(p.M_Product_ID,?,0) AS QtyOrdered, pa.IsInstanceAttribute, p.UPC FROM M_Product p LEFT OUTER JOIN M_ProductPrice pr ON (p.M_Product_ID=pr.M_Product_ID AND pr.IsActive=‘Y’) LEFT OUTER JOIN M_AttributeSet pa ON (p.M_AttributeSet_ID=pa.M_AttributeSet_ID) LEFT OUTER JOIN M_Product_PO ppo ON (p.M_Product_ID=ppo.M_Product_ID) LEFT OUTER JOIN C_BPartner bp ON (ppo.C_BPartner_ID=bp.C_BPartner_ID) WHERE p.IsActive=‘Y’ AND p.IsSummary=‘N’ AND pr.M_PriceList_Version_ID=? AND M_Product_Category_ID IN (111,112,105,106,107,108,109,110,2000000,2000001,0) AND p.AD_Client_ID IN(2000001,0) AND p.AD_Org_ID IN(2000001,0) AND p.M_Product_ID NOT IN ( SELECT Record_ID FROM AD_Private_Access WHERE AD_Table_ID = 208 AND AD_User_ID <> 2000003 AND IsActive = ‘Y’ ) AND pa.M_AttributeSet_ID NOT IN ( SELECT Record_ID FROM AD_Private_Access WHERE AD_Table_ID = 560 AND AD_User_ID <> 2000003 AND IsActive = ‘Y’ ) AND bp.C_BPartner_ID NOT IN ( SELECT Record_ID FROM AD_Private_Access WHERE AD_Table_ID = 291 AND AD_User_ID <> 2000003 AND IsActive = ‘Y’ ) ORDER BY p.Name ASC [13]
org.postgresql.util.PSQLException: ERRO: coluna p.lbr_brand não existe; State=42703; ErrorCode=0
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1548)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1316)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:191)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:351)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:255)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:76)
at org.compiere.util.CPreparedStatement.executeQuery(CPreparedStatement.java:121)
at org.compiere.apps.search.Info$Worker.run(Info.java:1083)[/code]

  • Tentei instalar a versão 343 mas dava erros devido a funções do LBR que tinham sido modificadas no Adempiere.
  • Tentei instalar o trunk, mas estava com mais de 100 erros no código e não deu nem para compilar.
  • Instalei a versão 341 e fiz a migração até a versão RC-110, mas aparece este erro da versão do BD…

Alguem pode me ajudar??

Obrigado


#8

Olá,

Tente a versão 3.4.2s com o LBR RC-110 ou LBR-Trunk. Importe o banco de dados da versão 3.4.2s e rode os scripts do LBR na seguinte ordem:

100b (beta)
100b-100
100-RC-110

Att.


#9

Olá Ralexander!

Muito obrigado pela ajuda, mas estou com um problema bobo que não sei resolver. Estou usando eclipse para baixar os projetos do Adempiere:

Como eu falei, já baixei o 341 e o 343 do repositório https://adempiere.svn.sourceforge.net/svnroot/adempiere.
Nesse mesmo repositório tem o trunk, que eu pensei inicialmente que era o 342s, mas está cheio de erros e não compila.
Também tem o release, que eu achei de novo era o 234s, mas tem erros também.

Também tentei baixar o 342s diretamente no meu computado do sourceforge, mas não consigo criar o projeto no eclipse a partir dele :S

Pode me indicar em qual repositório e sob que nome posso achar a versão 342s??

Muito obrigado pela ajuda!!


#10

o ADempiere 3.4.2 está em tags/adempiere342 (adempiere.svn.sourceforge.net/s … empiere342)


#11

Obrigado pela ajuda!!