none
Problemas com o PARADOX RRS feed

  • Pergunta

  • Olá pessoal blz? espero que sim!

    olhem só, estou com um grande problema para ler tabelas do paradox através do ado.net.

    já usei os usings system.data.odbc e system.data.oledb. Também já tentei todas as strings de conexão do site http://www.connectionstrings.com 

    o erro que dá é esse: ERROR [HY000] [Microsoft][Driver ODBC para Paradox] A tabela externa não está no formato esperado.

    acessando pelo delphi ele pega blz, mas quando vou tentar acessar pelo Visual ele da esse erro.

    ....segue abaixo os trexos de códigos em ODBC e OleDb respectivamente:

    private OdbcConnection conexao;
    private OdbcCommand query;
    private DataSet dSet;
    private OdbcDataAdapter dAdapter;

    ...

    conexao = new OdbcConnection();
    query = new OdbcCommand();
    dSet = new DataSet();

    conexao.Close();
    conexao.ConnectionString = "Driver={Microsoft Paradox Driver
    (*.DB )};DriverID=538;Fil=Paradox 5.X;DefaultDir=D:\\JoseCarlos\
    \winsic;Dbq=D:\\JoseCarlos\\winsic;CollatingSequence=ASCII;";
    conexao.Open();

    query.Connection = conexao;
    query.CommandText = "select * from TABAGEND";
    dAdapter = new OdbcDataAdapter(query.CommandText,
    conexao.ConnectionString);

    dAdapter.Fill(dSet, "tabela"); -- ERRO ACONTECE NESSA LINHA

    dgw.DataSource = dSet.Tables["tabela"];

    ===================================================

    private OleDbConnection Oleconexao;
    private OleDbCommand OleQuery;
    private OdbcDataAdapter OleDadapter;
    private DataSet dSet;

    ...

    Oleconexao = new OleDbConnection();
    OleQuery = new OleDbCommand();
     dSet = new DataSet();

    Oleconexao.Close();
    Oleconexao.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data
    Source=D:\\JoseCarlos\\winsic;Extended Properties=Paradox 5.x;";
    Oleconexao.Open();

    OleQuery.Connection = Oleconexao;
    OleQuery.CommandText = "select * from TABAGEND";
    OleDadapter = new OdbcDataAdapter(OleQuery.CommandText,
    Oleconexao.ConnectionString);

    OleDadapter.Fill(dSet, "tabela"); ERRO ACONTECE NESSA LINHA

     dgw.DataSource = dSet.Tables["tabela"];


    -------------------

    Já pesquisei em todos os foruns que consegui durante uma semana inclusive aqui no msdn, mas não encontro respostas concretas. Porfavor se alguem conseguir me ajudar com esse problema ficarei MUITO GRATO.


    Obrigado pela atenção de todos



    Att,


    José Carlos LAcerda

    terça-feira, 11 de agosto de 2009 15:17

Respostas

  • É bem provavel que no momento que vc esta fazendo a conexão no teu programa a tabela esta aberta, em uso por outro programa

    O mais certo a se fazer é pegar as tabelas que vc quer usar, fazer uma cópiae colocá-las em uma pasta separada.

    Feche todos os programas que possam estar usando a tabela e tente novamente

    se for o caso até reinicie o PC e abra só o seu programa

    Tenho certeza que vai funcionar
    Ewerton Luis de Mattos
    quinta-feira, 3 de dezembro de 2009 10:39

Todas as Respostas

  • Alguem da alguma idéia ae galera!!! Por favor
    quarta-feira, 12 de agosto de 2009 01:20
  • É bem provavel que no momento que vc esta fazendo a conexão no teu programa a tabela esta aberta, em uso por outro programa

    O mais certo a se fazer é pegar as tabelas que vc quer usar, fazer uma cópiae colocá-las em uma pasta separada.

    Feche todos os programas que possam estar usando a tabela e tente novamente

    se for o caso até reinicie o PC e abra só o seu programa

    Tenho certeza que vai funcionar
    Ewerton Luis de Mattos
    quinta-feira, 3 de dezembro de 2009 10:39