none
Erro ao tentar executar um select usando o namespace System.Data.OracleClient RRS feed

  • Pergunta

  • Estou usando o visual studio 2010 com w7 64.  Estou usando as classes OracleConnection, OracleDataAdapter para executar um select  no banco. Quando executo o método Fill do DataAdapter ele me retorna uma exceção com a mensagem: OCIEnvCreate failed with return code -1... Não consigo descobrir oque é isto, dei uma procurada na net mas não encontrei a solução. Alguem sabe o que pode estar acontecendo?
    quarta-feira, 19 de setembro de 2012 13:02

Todas as Respostas

  • Marcio,

    Poderia postar seu código?


    Carlos Eduardo Ferreira

    quarta-feira, 19 de setembro de 2012 13:27
  • Obrigado pela atenção Carlos, segue o código

        public partial class Form1 : Form
        {
            private OracleConnection conexao;
            private OracleDataAdapter da;
            private DataTable tabela;
            private OracleConnectionStringBuilder sb;
     
            public Form1()
            {
                InitializeComponent();
                sb            = new OracleConnectionStringBuilder();
                sb.DataSource = "ORADESENV";
                sb.UserID     = "DESENV";
                sb.Password   = "DESENV";
     
                conexao = new OracleConnection(sb.ConnectionString);
                da = new OracleDataAdapter("", conexao);
                tabela = new DataTable();
            }
     
            private void btnExecutar_Click(object sender, EventArgs e)
            {
                da.SelectCommand.CommandText = txtSelect.Text;
                da.Fill(tabela);
                dtgDados.DataSource = tabela;
            }
        }
    

    quarta-feira, 19 de setembro de 2012 13:31
  • Marcio,

    Testei seu código e funcionou corretamente...

    A client do Oracle na sua máquina está OK?

    Obs: Porque vc está instanciando os objetos do Oracle no construtor do form?


    Carlos Eduardo Ferreira

    quarta-feira, 19 de setembro de 2012 15:41
  • O cliente do oracle esta instalado,

    Instanciei no construtor para não ter que instanciar a cada vez que for usar

    quarta-feira, 19 de setembro de 2012 16:35
  • O TNS está configurado corretamente?

    Se você executar o comando "tnsping ORADESENV" no prompt ele resolve o nome?

    Dê uma olhada nesse thread e veja se te ajuda:

    http://social.msdn.microsoft.com/forums/en-US/vblanguage/thread/373a9207-b8d8-46a8-804a-82c99a3f5ecc


    Carlos Eduardo Ferreira

    quarta-feira, 19 de setembro de 2012 18:41
  • O meu TNS está correto, está como de outras máquinas que tenho aqui e estão funcionando corretamente, é só uma máquina que não está acessando, creio que é alguma coisa com o client do oracle desta máquina. O link que vc me passou, não deu certo
    quinta-feira, 20 de setembro de 2012 12:25