Inquiridor
Conexão Windows CE com SQL Server 2005

Pergunta
-
Ola pessoal.
Estou começando a desenvolver para Windows CE, e me deparei com um erro ao se conectar com o SQL Server. Segue o código abaixo:
private static SqlConnection ConectarBanco() { return new SqlConnection(@"Database=BD_OS;user id=SA; Data Source=192.168.0.2,1433; Password=pacenas1003"); } public static DataSet Listar() { SqlConnection conexao = ConectarBanco(); DataSet ds; SqlDataAdapter da; try { da = new SqlDataAdapter(@"select 1 + 1 teste", conexao); ds = new DataSet(); da.Fill(ds); } finally { if (conexao != null) { conexao.Close(); } } return ds; } }
Quando roda aparece o erro: "Sql Exception" e só,,, não tem mais infomações.
Se alguem puder me ajudar, fico muito grato.
vlws.
- Movido AndreAlvesLimaModerator terça-feira, 15 de fevereiro de 2011 20:35 (De:Windows Forms & Smart Client)
Todas as Respostas
-
Nayton,
Sem a mensagem inteira da exception fica difícil... Coloque um catch no seu try e um MessageBox exibindo a propriedade Message da exception...
Se bem que, pelo que reparei no seu código, o seu SELECT não é uma query válida... Por isso que deve estar dando exception...
Tente somente um SELECT 1 + 1... (sem o teste)...
André Alves de Lima
Microsoft MVP - Client App Dev
Visite o meu site: http://www.andrealveslima.com.br
Me siga no Twitter: @andrealveslima -
Prezado(a),
Estou migrando seu post para o fórum de Mobilidade.
Por favor, das próximas vezes que tiver alguma dúvida relacionada a esse assunto, poste por lá.
Obrigado.
André Alves de Lima
Microsoft MVP - Client App Dev
Visite o meu site: http://www.andrealveslima.com.br
Me siga no Twitter: @andrealveslima -
Ola André, muito obrigado pela sua atenção.
Então, a query está correta, ela retrona uma linha com resultado igual a 2 e com o nome da coluna chamada teste.
Coloquei a mensagem de exceção para ser exibida em uma MessageBox, e a mensagem é a mesma que aparece no Debug: "Sql Exception".
Também estranhei, pois não aparece que tipo de erro aconteceu, somente aparece esse erro.
Vlws Até mais.
-
Nayton,
Estranho hein... Você já tentou debugar pra ver em qual ponto exatamente você está recebendo o erro (se é na hora de conectar ou na hora de fazer o Fill)?
André Alves de Lima
Microsoft MVP - Client App Dev
Visite o meu site: http://www.andrealveslima.com.br
Me siga no Twitter: @andrealveslima -
-
Nayton,
Você pode postar como ficou o código após colocar a parte do catch? Com a exibição da Message da exception era pra você ter obtido maiores detalhes do erro...
André Alves de Lima
Microsoft MVP - Client App Dev
Visite o meu site: http://www.andrealveslima.com.br
Me siga no Twitter: @andrealveslima -
Ola André!
Claro que sim. Anteriormente eu havia postado o método responsavel pela busca e que lança exceções para GUI.
Este é o cód ond a Exceção é captada do método anterior:
private void menuItem2_Click(object sender, EventArgs e) { try { dgTeste.DataSource = Banco.Listar(); } catch (Exception exc) { MessageBox.Show(exc.Message); } }
-
1. Já tentou fazer a conexão sem definir a porta do SQL SERVER(somente ip)? Se tiver uma regra em firewall ele tem que resolver automaticamente.
2. O user SA está ativo no banco para conectar o mesmo? Testou conectar direto no banco com o user?
3. O banco está liberado para aceitar conexões remotas?
Sei que são perguntas "bestas", mas muitas vezes o problema é simples já que parece estar tudo ok no seu código.
att,
-
Ola Márcio,
Muito obrigado pela atenção cara!
Mas infelizmente também não resolveu meu problema :(
Consulto essa Base de Dados de outras aplicações e funciona perfeitamente,
a minha string de conexão inicial, tinha apenas o numero do ip do servidor, dava msm erro, por isso explicitei a porta.
Esse errinho esta chato cara, talvez seja por causa do emulador.
Vou arrumar um aparelhinho aqui para fazer o teste nele.
Vlw Márcio!