Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
11
respostas

Como resolver os erros apresentados na janela Java do Workbench?

Olá, tudo bem?

Bom... vendo a janela Java do Workbench temos vários erros que me deixaram preocupada. Por exemplo...

14:51:24,257 ERROR [JdbcMetaData] setPKey
java.sql.SQLSyntaxErrorException: Table 'dmpresidencia.pma__userconfig' doesn't exist
        at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
        at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
        at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
        at com.mysql.cj.jdbc.StatementImpl.executeQuery(StatementImpl.java:1218)
        at com.mysql.cj.jdbc.DatabaseMetaData$7.forEach(DatabaseMetaData.java:2980)
        at com.mysql.cj.jdbc.DatabaseMetaData$7.forEach(DatabaseMetaData.java:2968)
        at com.mysql.cj.jdbc.IterateBlock.doForAll(IterateBlock.java:56)
        at com.mysql.cj.jdbc.DatabaseMetaData.getPrimaryKeys(DatabaseMetaData.java:3021)
        at mondrian.gui.JdbcMetaData.setPKey(JdbcMetaData.java:341)
        at mondrian.gui.JdbcMetaData.setAllTables(JdbcMetaData.java:317)
        at mondrian.gui.JdbcMetaData.setAllSchemas(JdbcMetaData.java:255)
        at mondrian.gui.JdbcMetaData.<init>(JdbcMetaData.java:64)
        at mondrian.gui.Workbench.getNewJdbcMetadata(Workbench.java:2006)
        at mondrian.gui.Workbench.openSchemaFrame(Workbench.java:1811)
        at mondrian.gui.Workbench.lastUsed1MenuItemActionPerformed(Workbench.java:1721)
        at mondrian.gui.Workbench.access$1000(Workbench.java:58)
        at mondrian.gui.Workbench$18.actionPerformed(Workbench.java:655)
        at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
        at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
        at javax.swing.AbstractButton.doClick(Unknown Source)
        at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
        at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
        at java.awt.Component.processMouseEvent(Unknown Source)
        at javax.swing.JComponent.processMouseEvent(Unknown Source)
        at java.awt.Component.processEvent(Unknown Source)
        at java.awt.Container.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$500(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue$4.run(Unknown Source)
        at java.awt.EventQueue$4.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)

Que erros são esses e como resolvê-los?

Obrigada!

11 respostas

Oii Ana, tudo bem?

O erro não diz muito a respeito do que está acontecendo, pesquisei bastante e podemos tentar uma solução:

  • Acesse a pasta: C:\treinamento\mysql\home\us_opt1
  • Procure um arquivo chamado: config.inc.php e abra com algum editor de texto.
  • Procure a linha 60-78 e substitua as linhas por esse código.
$cfg['Servers'][$i]['pma__bookmark'] = 'pma__bookmark';
 $cfg['Servers'][$i]['pma__relation'] = 'pma__relation';
 $cfg['Servers'][$i]['pma__table_info'] = 'pma__table_info';
 $cfg['Servers'][$i]['pma__table_coords'] = 'pma__table_coords';
 $cfg['Servers'][$i]['pma__pdf_pages'] = 'pma__pdf_pages';
 $cfg['Servers'][$i]['pma__column_info'] = 'pma__column_info';
 $cfg['Servers'][$i]['pma__table_uiprefs'] = 'pma__history';
 $cfg['Servers'][$i]['pma__table_uiprefs'] = 'pma__table_uiprefs';
 $cfg['Servers'][$i]['pma__tracking'] = 'pma__tracking';
 $cfg['Servers'][$i]['pma__userconfig'] = 'pma__userconfig';
 $cfg['Servers'][$i]['pma__recent'] = 'pma__recent';
 $cfg['Servers'][$i]['pma__users'] = 'pma__users';
 $cfg['Servers'][$i]['pma__usergroups'] = 'pma__usergroups';
 $cfg['Servers'][$i]['pma__navigationhiding'] = 'pma__navigationhiding';
 $cfg['Servers'][$i]['pma__savedsearches'] = 'pma__savedsearches';
 $cfg['Servers'][$i]['pma__central_columns'] = 'pma__central_columns';
 $cfg['Servers'][$i]['pma__designer_coords'] = 'pma__designer_coords';
 $cfg['Servers'][$i]['pma__designer_settings'] = 'pma__designer_settings';
 $cfg['Servers'][$i]['pma__export_templates'] = 'pma__export_templates';
 $cfg['Servers'][$i]['pma__favorite'] = 'pma__favorite';

Verifique se o erro continua. Me avise qualquer coisa :)

Oi Maria, tudo sim. E espero o mesmo para você.

Bom... também não encontrei muita coisa nas minhas pesquisas. E por isso postei aqui.

Sobre sua orientação... fiz a alteração no arquivo, reiniciei o meu micro e voltei a testar. Mas... continua com o mesmo problema. Continua informando tabelas inexistentes. Não estaria faltando algum passo no treinamento para a criação dessas tabelas?!? Parecem ser tabelas auxiliares (dmpresidencia.pma__table_info, dmpresidencia.pma__tracking, dmpresidencia.pma__users, etc...).

Sim... esses erros são apresentados quando eu carrego o XML no Workbench.

Obrigada!

Oi Ana, estou bem obrigada.

Eu nunca vi esse erro e ele não aconteceu comigo. Eu fiz vários testes para tentar reproduzir ele e encontrar o motivo, mas não consegui.

Passou pela minha cabeça, você restaurar o meu backup do dmpresidencia, podemos tentar isso.. o backup está aqui.

Faça o download e substitua a pasta nesse caminho: C:\treinamento\mysql\core\mysql\data.

Me avise qualquer coisa :)

Eita... tenho um problema. Como no treinamento, ficava muito ruim ter tabelas com o mesmo nome (DM e DW), acabei alterando as tabelas do DM para ter dm_ antes do nome das tabelas solicitado pelo instrutor.

Desta forma, acho que não poderei substituir tais arquivos. Nada vai funcionar. Precisaria iniciar tudo novamente e não tenho muito tempo para fazer isso agora, infelizmente. Vi que você tem uma tabela que não tenho - agg_ano_fat. Acho que será criado depois, né?

Outra coisa diferente do seu ambiente, é que minha pasta está em outro drive, mas acho que isso não é problema.

Obrigada!

Oi Ana,

Eita.. Como está o nome de suas tabelas? Eu ajusto aqui e te mando novamente.

Eu também tinha alterado os nomes quando fiz o curso, mas eu formatei o computador e precisei restaurar o ambiente.

Simm, é criado depois, nesse mesmo curso.

Me avise qualquer coisa.

Olá... sim... coloquei na frente das tabelas dm_.

Então as tabelas ficaram: dm_dim_tempo; dm_dim_produto; dm_dim_cliente; dm_dim_fabrica; dm_dim_organizacional; dm_fato_presidencia.

Obrigada!

Oi Ana,

Fiz a substituição dos arquivos, aqui.

Espero que dê certo. Me avise qualquer coisa :)

Eita... deu certo não. Mesmos erros.

Você pode me enviar o seu SucoFrutas.xml para que eu possa comparar com o meu?

Obrigada!!!

Oi Ana,

O XML foi disponibilizado nesse mesmo link acima.

Me avise qualquer coisa :)

solução!

Obrigada!

Vamos lá... Carreguei o seu xml, que não tinham muitas diferenças, e os mesmos erros são apresentados. Então criei um novo xml do zero com apenas o schema criado e os mesmos erros ocorreram.

Então fui ver melhor os erros da janela e tinha

java.sql.SQLSyntaxErrorException: Table 'dwsucos.dm_dim_cliente' doesn't exist

E aí foi mais estranho. Como o Pentaho estava misturando as tabelas dos bancos de dados?!?

Procurei novamente na web e acabei encontrando uma referência antiga mas interessante (https://forums.pentaho.com/threads/80549-schema-workbench-error-table-abc-does-not-exist-in-database/).

Vi que durante o curso, a janela Java sempre está apresentando erros mas o instrutor não a observa. Então acho que a versão do mysql utilizada no curso, junto com o drive jdbc escolhido estão fazendo a bagunça.

Desta forma, como não irei utilizar essa versão mysql no futuro, estou desistindo desse erro.

Novamente muito obrigada!

Oi Ana,

Pode ser sim, que a versão do driver com a versão do MySQL podem estar se estranhando. Enfim, se eu puder ajudar em algo mais, sempre à disposição :)

Bons estudos!