Bom, depois de muito trabalho aqui, troquei a biblioteca no meu projeto e estou usando a jdbc jtds, que falaram que é bem melhor que a da micro$oft!
Pelo menos os erros pararam, porém agora está acontecendo um erro e ja verifiquei no google o porque…
Acontece o seguinte, quando tento popular uma Datagrid aparece a seguinte mensagem abaixo
http://uploaddeimagens.com.br/imagem/index/3errojava.jpg
eu ja vi em varios foruns, inclusive aqui, cara falando tem que colocar o schema, eu ja coloquei, fui la e dbo.pessoas e nada, mesma mensagem, só mudava Invalid Object name ‘dbo.pessoas’
outros falando tem que dar permissao na tabela, mas no meu caso nao precisa, porque foi o usuario sa que criou, se eu for la com ele no sql server eu consigo deletar a tabela, então nao é permissao…
Por favor me ajudem!
Marck
Maio 26, 2010, 5:28pm
#2
olá!
O nome da tabela é mesmo “pessoas”?
Esqueci de falar também o nome da tabela é esse mesmo
http://uploaddeimagens.com.br/imagem/index/77errojava.jpg
Valeu, mas ainda a duvida continua!
Marck
Maio 26, 2010, 5:41pm
#4
Verificou se está conectando no schema certo?
Pode postar o código?
sim sim…
quando coloco dbo.pessoas unica coisa que muda é a mensagem de pessoas para dbo.pessoas!
package br.com.ricardo.bancojavaflexblazeds;
import java.sql.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.swing.JOptionPane;
public class ServicoJavaPessoa {
@SuppressWarnings("unchecked")
public List listar_pessoa()
{
List lista_pessoas = new ArrayList();
String driver = "net.sourceforge.jtds.jdbc.Driver";
String url = "jdbc:jtds:sqlserver://RICARDO-PC:1433;database=flex;";
String usuario = "sa";
String senha = "segredo";
Connection conexao;
Statement statement;
ResultSet resultset;
try
{
Class.forName(driver);
conexao = DriverManager.getConnection(url, usuario, senha);
statement = conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
resultset = statement.executeQuery("select * from pessoas");
while (resultset.next());
{
Map<String, String> hashmap_pessoas = new HashMap<String, String>();
hashmap_pessoas.put("id", resultset.getString("id"));
hashmap_pessoas.put("nome", resultset.getString("nome"));
hashmap_pessoas.put("endereco", resultset.getString("endereco"));
hashmap_pessoas.put("email", resultset.getString("email"));
lista_pessoas.add(hashmap_pessoas);
}
}
catch(java.lang.ClassNotFoundException Driver)
{
JOptionPane.showMessageDialog(null, "Classe do banco de dados não encontrada "+Driver);
}
catch(SQLException Banco)
{
JOptionPane.showMessageDialog(null, "Erro ao manipular o banco de dados "+Banco);
}
return lista_pessoas;
}
}
Marck
Maio 26, 2010, 5:55pm
#6
Tenta colocar o owner (dbo) antes da tabela:
resultset = statement.executeQuery("select * from dbo.pessoas");
foi o que eu falei, esse erro acontece mesmo…
tipo eu troquei ja para dbo.pessoas porém só muda a mensagem, nada se resolve!
http://uploaddeimagens.com.br/imagem/index/43errojava.jpg
Marck
Maio 26, 2010, 6:16pm
#8
Caramba, que estranho cara.
Vou rodar em casa e caso vc não tenha achado a solução, eu posto!
E só para teste, criar o statement sem parametros…
boa sorte
Abrço
Okz, Qualquer coisa se achar a solucao ai vc me da um toque!
To procurando no google que nem um doido, mas foi o que eu falei nesse forum, muito esquisito!! hehe
nossa aqui tava facil era só isso
String url = "jdbc:jtds:sqlserver://RICARDO-PC:1433;database=flex;";
para isso
String url = "jdbc:jtds:sqlserver://RICARDO-PC:1433/flex;";