none
Conexão Windows CE com SQL Server 2005 RRS feed

  • 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.

    terça-feira, 15 de fevereiro de 2011 19:28

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
    terça-feira, 15 de fevereiro de 2011 20:34
    Moderador
  • 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
    terça-feira, 15 de fevereiro de 2011 20:34
    Moderador
  • 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.

    quarta-feira, 16 de fevereiro de 2011 11:12
  • 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
    quarta-feira, 16 de fevereiro de 2011 15:26
    Moderador
  • É na hora de fazer fill cara, tb achei super estranho cara.

    vlws pela atenção !

    até mais!

    quinta-feira, 17 de fevereiro de 2011 13:50
  • 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
    quinta-feira, 17 de fevereiro de 2011 14:21
    Moderador
  • 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);
          }
        }
    

    quinta-feira, 17 de fevereiro de 2011 17:49
  • 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,

    sexta-feira, 18 de fevereiro de 2011 11:53
  • 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!

    sexta-feira, 18 de fevereiro de 2011 20:00