Problema na Consulta SQL no SQL Server 2000

8 respostas
IVANNETO7

Ola galera!!
Será que alguem pode me ajudar?

Estou desenvolvendo um sistema em ajax utilizando JSP, Javascript e java para acesso ao banco.
Eu consegui estabelecer a conexao com o SQL Server 2000 porém quando faço a consulta ele
me retorna: “Invalid Object Name “nome da tabela””, mas a consulta funciona, porque
testei em um utilitario sql.
Vale lembrar que a base de dados é de outro programa, esse acesso eu faço para realizar uma importação
dos dados para minha base no MySQl 5.0

O codigo está dessa forma:
A conexão:

public ConexaoSQLSERVER()throws Exception{
        try{
            Class.forName(driver);
            
            conexao = DriverManager.getConnection(url, usuario, senha);
            stmt = conexao.createStatement();
            
            
        }catch(SQLException e){
            throw new Exception("Erro ConexaoSQLSERVER: "+e.getMessage());
        }catch(ClassNotFoundException e){
            throw new Exception("Erro ConexaoSQLSERVER: "+e.getMessage());
        }
        
    }

E a consulta em outra classe:

public ResultSet listaCentroCustos() throws Exception{
        
        String sql = "SELECT CTT_CUSTO, CTT_CLASSE, CTT_DESC01 "+
                     "FROM CTT010 WHERE CTT_CLASSE = '2' AND "+
                     "D_E_L_E_T_<>'*' AND len(CTT_CUSTO)='9'";
        
        try{
            
            return conexao.executeQueryStmt(sql);
            
        }catch(SQLException e){
            throw new Exception("Erro CTT010: "+e.getMessage());
        }
    }

Obrigado!

8 Respostas

T

Acerte a URL de conexão. Pode ser que você esteja uisando o database errado (no utilitário SQL você seleciona o database com USE …)

Se não passar nenhum database, você estará usando o MASTER, onde normalmente não se põe nenhuma tabela de aplicativo.

IVANNETO7

Você pode me passar algum exemplo??

Nunca houve, anteriormente essa necessidade quando usava MySQL

Obrigado!!

T

É claro - o MySQL funciona de um jeito e o SQL Server funciona de outro jeito. Cuidado com a bitola…

De qualquer maneira, poste qual é a string de conexão (URL) que você usou para conectar-se ao MS SQL Server.

IVANNETO7

Essa foi a URL:

private final String url = "jdbc:jtds:sqlserver://Meu_ip:1433:DADOS";

Desculpe mas por motivos de segurança não posso colocar o IP!!

Obrigado!!

S

“jdbc:jtds:sqlserver://Meu_ip:1433:DADOS”;

Desculpa a ignorância, mas o que é esse jtds?

Qual o driver vc está utilizando? Ele está conectando? Não está lançando um ClassNotFoundException?

T

IVANNETO7:
Essa foi a URL:

private final String url = "jdbc:jtds:sqlserver://Meu_ip:1433:DADOS";

http://jtds.sourceforge.net/faq.html#urlFormat

jdbc:jtds:sqlserver://Meu_ip:1433/DADOS;instance=INSTANCIA

Isso se você não estiver usando a instância default do banco.

S

Cara, não posso te ajudar então pq não conheço o jTDS, mas para o driver mais recente do SQL Server feito pela Microsoft eu uso a seguinte String:

Lembrando que no seu caso, onde eu tenho “//localhost” voce vai colocar o endereço do banco…

Espero ter ajudado.

IVANNETO7

Obrigado a todos!!
Fiz usando a instancia, não na URL de conexao, mas na propria consulta com o comando USE!!
Ficou desta forma:

public ResultSet listaCentroCustos() throws Exception{
        
        String sql = "USE DADOS SELECT CTT_CUSTO, CTT_CLASSE, CTT_DESC01 "+
                     "FROM CTT010 WHERE CTT_CLASSE = '2' AND "+
                     "D_E_L_E_T_<>'*' AND len(CTT_CUSTO)='9'";
        
        try{
            
            return conexao.executeQueryStmt(sql);
            
        }catch(SQLException e){
            throw new Exception("Erro CTT010: "+e.getMessage());
        }
    }
Criado 21 de maio de 2009
Ultima resposta 4 de jun. de 2009
Respostas 8
Participantes 3