Visual Web Java Server Faces + JDBC(SOCORRO!)

Boa Tarde amigos, estou fazendo um cadastro no Visual Web Java Server Faces via JDBC na ação do botão Salvar coloquei para mandar uma mensagem caso desse certo ou uma exception caso desse errado e o problema é que deu uma exception com a seguinte mensagem:
System Messages

* java.sql.SQLException: JdbcRowSetXImpl (connect): (JNDI) Unable to connect: Error in allocating a connection. Cause: sun.jdbc.odbc.JdbcOdbcDriver cannot be cast to javax.sql.DataSource

o código do meu botão salvar é o seguinte:

 public String btnSalvar_action() {


        try {
            RowKey rk = livroDataProvider.appendRow();
            //eu crio uma linha em batnco no bd e armazeno essa linha no objeto rk.   


            livroDataProvider.setCursorRow(rk);
            //Primeiro eu crio a linha em branco no banco de dados, aqui eu aponto para linha que eu criei(algo "particular" desse Framework).


            livroDataProvider.setValue("IdLivro", txtId.getText());
            livroDataProvider.setValue("TituloDoLivro", txtTitulo.getText());
            livroDataProvider.setValue("Autor", txtAutor.getText());
            livroDataProvider.setValue("Editora", txtEditora.getText());
            livroDataProvider.setValue("CodigoDoLivro", txtCodigo.getText());
            livroDataProvider.setValue("Status", txtStatus.getText());
            livroDataProvider.setValue("Quantidade", txtQuantidade.getText());
            livroDataProvider.setValue("Categoria", txtCategoria.getText());
            livroDataProvider.setValue("Disponiveis", txtDisponiveis.getText());
            //pega os valores dos campos de texto e guarda no respectivo campo da linha


            livroDataProvider.commitChanges();
            //salva as alterações feitas no banco de dados.


            livroDataProvider.refresh();
            //refresh para atualizar. 


            info("Gravação Realizada com Sucesso !");
            //manda uma mensagem no componente caso seja realizada a operação.


            txtId.setText(null);                                                            //limpa os campos após a gravação.
            txtTitulo.setText(null);
            txtAutor.setText(null);
            txtEditora.setText(null);
            txtCodigo.setText(null);
            txtStatus.setText(null);
            txtQuantidade.setText(null);
            txtCategoria.setText(null);
            txtDisponiveis.setText(null);

        } catch (Exception ex) {
            error(ex.getMessage());
        }
        return null;

    }

o engraçado é que quando testei usando uma conexão com MySQL localmente deu tudo certo, porém depois quando tentei no sqlServer remotamente ,troquei o dataProvider tudo certinho e deu errado, não consigo pensar em uma solução, por favor me ajudem.

agradeço a atenção desde ja.

Posta o código ae pra galera ver…fica mais fácil…

Ola CaioTakei

Voce ja encontrou a solução para o seu problema, é que eu tambem estou com o mesmo problema que voce.

Eu estou utilizando visual no jsf e estou incorporando uma tabela do banco oracle no componente table usado o netbeans, quando faço o processo no mysql da tudo certo, porem quando faço no oracle da o erro abaixo.

Para que todos entendam o que estou fazendo e talvez ajudar vou explicar com detalhes.

Criei um conexão JDBC no serviço do Netbeans com banco oracle e apos efetuar a conexao com o banco utilizando o jdbc, é exibido todas as tabelas do banco.
Depois é so clicar na tabela da conexao e arrastar para o componente table visual jsf que o componente incorpora todas as colunas da tabela do banco, porem quando faço com banco oracle ocorre erro e no mysql da tudo certo.

Estou utilizando Netbeans 6 , jdk 1.5 , driver classes12.jar e banco XE da oracle, porem ja testei com netbeans 5, driver classes14.jar, jdk1.6 e banco oracle standard e nao deu certo.

Eu acho que é o driver que nao esta conseguindo retornar algum valor do banco e por este motivo ocorre o erro.

O erro segue abaixo, espero que tenha alguem que possa dar uma ajuda, pois se eu nao conseguir descobrir este erro, vou ter que alterar todo o andamento de um projeto da empresa onde trabalho.

Espero que alguem possa me ajudar.

Segue o erro:

java.sql.SQLException: JdbcRowSetXImpl (connect): (JNDI) Unable to connect: null
at com.sun.sql.rowset.CachedRowSetXImpl5.getConnection(CachedRowSetXImpl5.java:4125)
at com.sun.sql.rowset.CachedRowSetXImpl5.getMetaData(CachedRowSetXImpl5.java:2255)
at com.sun.data.provider.impl.CachedRowSetDataProvider.getMetaData(CachedRowSetDataProvider.java:1459)
Caused: java.lang.RuntimeException
at com.sun.data.provider.impl.CachedRowSetDataProvider.getMetaData(CachedRowSetDataProvider.java:1485)
at com.sun.data.provider.impl.CachedRowSetDataProvider.getFieldKeys(CachedRowSetDataProvider.java:563)
at com.sun.webui.jsf.component.TableDesignInfo.linkBeans(TableDesignInfo.java:176)
at org.netbeans.modules.visualweb.insync.models.FacesModel.linkBeans(FacesModel.java:1222)
at org.netbeans.modules.visualweb.designer.jsf.JsfForm.linkDesignBeans(JsfForm.java:2951)
at org.netbeans.modules.visualweb.designer.jsf.FacesDndSupport.processLinks(FacesDndSupport.java:1091)
at org.netbeans.modules.visualweb.designer.jsf.FacesDndSupport.importBean(FacesDndSupport.java:651)
at org.netbeans.modules.visualweb.designer.jsf.FacesDndSupport.importData(FacesDndSupport.java:417)
at org.netbeans.modules.visualweb.designer.jsf.FacesDndSupport.importData(FacesDndSupport.java:3701)
at org.netbeans.modules.visualweb.designer.jsf.DndSupport.importData(DndSupport.java:592)
at org.netbeans.modules.visualweb.designer.jsf.DomProviderImpl.importData(DomProviderImpl.java:1194)
at org.netbeans.modules.visualweb.designer.WebForm.importData(WebForm.java:2235)
at org.netbeans.modules.visualweb.designer.DndHandler.importDataExt(DndHandler.java:496)
at org.netbeans.modules.visualweb.designer.DndHandler.importData(DndHandler.java:352)
at org.netbeans.modules.visualweb.designer.DesignerTransferHandler.importData(DesignerTransferHandler.java:92)
at org.netbeans.modules.visualweb.designer.DesignerPaneDropTarget$DefaultTransferHandlerDropTargetListener.drop(DesignerPaneDropTarget.java:235)
at java.awt.dnd.DropTarget.drop(DropTarget.java:430)
at org.netbeans.modules.visualweb.designer.DesignerPaneDropTarget.drop(DesignerPaneDropTarget.java:153)
at sun.awt.dnd.SunDropTargetContextPeer.processDropMessage(SunDropTargetContextPeer.java:500)
at sun.awt.dnd.SunDropTargetContextPeer.access$800(SunDropTargetContextPeer.java:53)
at sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchDropEvent(SunDropTargetContextPeer.java:812)
at sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchEvent(SunDropTargetContextPeer.java:736)
at sun.awt.dnd.SunDropTargetEvent.dispatch(SunDropTargetEvent.java:29)
at java.awt.Component.dispatchEventImpl(Component.java:3842)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3819)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processDropTargetEvent(Container.java:3963)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3817)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1791)
at java.awt.Component.dispatchEvent(Component.java:3819)
[catch] at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

Também estou passando pelo mesmo problema atualmente.

O estranho é que tenho uma aplicação que conecta com o banco normalmente (faz login, verificações e tudo mais…) e logo após quando tento abrir algumas páginas jsf na janela de Design do Netbeans ele dá exatamente esse mesmo erro!

Quando tento executar diz que não encontrou o driver JDBC. Mto estranho!

Alguém tem alguma dica?

caras não saco muito de WEB mas parece que nao estar cendo encontrado algo ao realizar a conexao com db como a url ou senha
sei la mas parece ser a url.

é so uma sopossição certo. nao cei exatamente

Quando você abre um projeto existente, o Visual Designer pode mostrar uma tela de erro. Normalmente, isso ocorre porque o Visual Designer precisa obter informações do banco de dados, mas o IDE não está conectado ao banco de dados.

Sugestão do Netbeans: “Tente se conectar ao servidor de banco de dados e clicar no botão Continuar na tela de erro para resolver o problema. Quando você fizer isso, o IDE adiciona um provedor de dados à página e um conjunto de linhas para a classe SessionBean1.”

Tentei fazer isso mas não funfou!
:smiley:

[list]

  • java.sql.SQLException: JdbcRowSetXImpl (connect): (JNDI) Unable to connect: Error in allocating a connection. Cause: sun.jdbc.odbc.JdbcOdbcDriver cannot be cast to javax.sql.DataSource
    [/list]

essa mensagem parece que algo estar sendo convertido para o tipo errado em qual linha isso ocorre:
e nessa

RowKey rk = livroDataProvider.appendRow();   

Metal Java Full voce pode estar fornecendo alguma informação erada como senha, url.
ou talves o servidor não esteja online