Pessoal, tenho que buscar dados de um servidor SQL Server 6.5 e estou tendo que usar ODBC. Primeiramente tenho que invocar uma stored procedure que irá povoar uma tabela e posteriormente selecionar os dados dessa tabela. Se invoco a procedure direto do Enterprise Manager do SQL 6.5 a tabela é povoada, mas da minha aplicação ela não está sendo povoada. A procedure está sendo chamada, pois não estou tendo erro. Estou chamando da seguinte forma:
As chaves fazem parte da sintaxe, retirando dá erro. Todos os exemplos que vi na web usam as chaves, por exemplo, veja em http://javaalmanac.com.
A aplicação que usa esse banco está escrita em VB e usa ADO. Tentei chamar a sp do delphi com conexão via ODBC e também deu o mesmo problema. Mudamos para conexão ADO, no delphi, e tudo funcionou. Estou achando que só com conexão ADO que é possível fazer isso. Agora ADO e Java não casam, não é mesmo?
D
dgouvea
Sua procedure retorna alguma coisa, ou apenas executa ???
W
wender
não tem nenhum parâmetro output, só executa, mas a pessoa que desenvolveu o sistema disse que possível obter um retorno dela, no caso um número da guia, mas formalmente ela não tem nenhum parâmetro output, só input…
D
dgouvea
Então só tenho uma coisa a dizer: O erro está na procedure !!!
W
wender
Acho que não, pois a aplicação em VB chama ela sem problemas. Tentei chamar a procedure via Delphi e não funcionou também, conectando via ODBC. Mudei o tipo de conexão para ADO e tudo funcionou perfeitamente. Então acho que só funciona com ADO. Sendo assim estou perdido né, pois java não trabalha com ADO… :?
D
dgouvea
Se a procedure funciona, o erro pode estar, na sua classe de conexão com o banco. ou mesmo no arquivo JDBC. Tente achar um arquivo JDBC atualizado.
W
wender
Não estou usando JDBC estou usando ODBC. Na verdade é bridge jdbc/odbc.
sun.jdbc.odbc.JdbcOdbcDriver
Eu consigo conectar, fazer select, mas chamar a sp e povoar a tabela não. Ele chama a procedure, executa, não dá erro nenhum no código, não cai no catch(exceção), mas a tabela não é povoada
Um amigo meu há um tempo atrás tentou se conectar com um jdbc da jtds, se não me engano, mas não conseguiu. O SQL Server que tenho que conectar é o 6.5, vc conhece algum outro jdbc?
D
dgouvea
Não conheço, mas no seu catch, coloque um printStackTrace() e poste a exceção aqui pra gente analisar.
W
wender
Não cai no catch, não dá exceção alguma. A sp é executada mas não povoa a tabela