daianyyy 0 Denunciar post Postado Janeiro 13, 2010 O pessoal preciso me conectar no postgres usando o Oledb....estou programando em asp.net C#.....não estou tendo muito sucesso ...alguem pode me passar um tutorial e me dizer onde eu consigo o driver ??? Compartilhar este post Link para o post Compartilhar em outros sites
Arndt 0 Denunciar post Postado Janeiro 13, 2010 http://www.linhadecodigo.com.br/Artigo.aspx?id=355 http://www.linhadecodigo.com.br/Artigo.aspx?id=367 Alguns artigos que achei no Google falando sobre isso Compartilhar este post Link para o post Compartilhar em outros sites
daianyyy 0 Denunciar post Postado Janeiro 13, 2010 Entaum nesses dois artigos um fala do ODBC e o outro do NpgSql ...eu quero conectar usando o OLEDB ...acho que naum é a mesma coisa !!!! Compartilhar este post Link para o post Compartilhar em outros sites
daianyyy 0 Denunciar post Postado Janeiro 14, 2010 Oi pessoal consegui instalar o pgoledb na minha maquina e estou usando a string e conexão connectionString="Provider=PostgreSQL OLE DB Provider;Data Source=localhost;location=Cas;User ID=postgres;password=daiany;timeout=1000" mas está dando esse erro : FATAL: argumentos de linha de comando são inválidos para processo servidor HINT: Tente "postgres --help" para obter informações adicionais Alguém sabe o que pode ser isso ??? Compartilhar este post Link para o post Compartilhar em outros sites
Angelo Compri 0 Denunciar post Postado Janeiro 14, 2010 Oi meu anjinho... Vamos lá: Primeiramente verifique se você tem o driver instalado corretamente. Ele pode ser baixado pelo link: http://pgfoundry.org/frs/?group_id=1000085&release_id=539 Depois verifique se a connection string esta correta: "Provider=PostgreSQL OLE DB Provider;Data Source=myServerAddress;location=myDataBase;User ID=myUsername;password=myPassword;timeout=1000;" Em seguida coloque uma Query simples, sem parametros ou joins etc.. um simples "Select * from Tabela" e verifique se funcionou.. Espero te-la ajudado! Beijinhos, Angelo Compri Compartilhar este post Link para o post Compartilhar em outros sites
daianyyy 0 Denunciar post Postado Janeiro 14, 2010 entaum eu baixei o drive ....coloquei as dlls no windows/system32 e registrei ....depois adicionei a dll no visual studio ....e testei com uma sql mais simples como você aconselhou ...soh que deu a mesma mensagem de erro !!!!! Compartilhar este post Link para o post Compartilhar em outros sites
Angelo Compri 0 Denunciar post Postado Janeiro 14, 2010 Oi lindinha.. Bom, para verificar se o OleDb foi registrado com sucesso, você tentar estabelecer uma conexão usando o Excel, por exemplo. Se funcionar, podem ser algum problema em sua aplicação. Você precisa identificar onde esta o problema primeiro.. se é na sua aplicação ou no Driver. Tente isso.. e nos envie o resultado. ;) Beijo, Angelo Compri Compartilhar este post Link para o post Compartilhar em outros sites
daianyyy 0 Denunciar post Postado Janeiro 14, 2010 Consegui conectar ...usei o modo visual para conectar dai copiei a string de conexão connectionString="Provider=PostgreSQL.1;Data Source=localhost;User ID=postgres;password=daiany;Location=Cas; mas agora tah dando esse erro FillinValues failed Compartilhar este post Link para o post Compartilhar em outros sites
Angelo Compri 0 Denunciar post Postado Janeiro 14, 2010 Consegui conectar ...usei o modo visual para conectar dai copiei a string de conexão connectionString="Provider=PostgreSQL.1;Data Source=localhost;User ID=postgres;password=daiany;Location=Cas; mas agora tah dando esse erro FillinValues failed Pode nos enviar o código que esta usando?? talvez fique facil identificar... Obs: você notou a diferença de tempo entre os seus posts e os meus? Compartilhar este post Link para o post Compartilhar em outros sites
daianyyy 0 Denunciar post Postado Janeiro 14, 2010 Segue o código que realiza a consulta que dá o erro public Funcionarios Find(string codigo) { OleDbParameter par = new OleDbParameter("@FUNC_CODIGO", codigo); try { //Executando a transação passando a conexão,o tipo do comando, o T-SQL e os parametros criados acima DataTable dt = OleDbHelper.ExecuteDataset(Base.getConnection(), CommandType.Text, Statements.SELECT_FUNC_WHERE, par).Tables[0]; //Criando o objeto da classe model para retorno do método Funcionarios funcionario=new Funcionarios(); funcionario.Codigo=Convert.ToInt16(dt.Rows[0]["CODIGO"]); funcionario.Cpf=dt.Rows[0]["CPF"].ToString(); funcionario.Nome=dt.Rows[0]["NOME"].ToString(); funcionario.Telefone=dt.Rows[0]["TELEFONE"].ToString(); funcionario.Email=dt.Rows[0]["EMAIL"].ToString(); funcionario.Endereco=dt.Rows[0]["ENDERECO"].ToString(); funcionario.Cidade=dt.Rows[0]["CIDADE"].ToString(); funcionario.Cep=dt.Rows[0]["CEP"].ToString(); funcionario.Estado=dt.Rows[0]["ESTADO"].ToString(); funcionario.Categoria=dt.Rows[0]["CATEGORIA"].ToString(); return funcionario; } catch (Exception ex) { return null; } } To usando uma classe OLEDBHelper aki dah o erro FillinValues failed: public static DataSet ExecuteDataset(OleDbConnection connection, CommandType commandType, string commandText, params OleDbParameter[] commandParameters) { if( connection == null ) throw new ArgumentNullException( "connection" ); // Create a command and prepare it for execution OleDbCommand cmd = new OleDbCommand(); bool mustCloseConnection = false; PrepareCommand(cmd, connection, (OleDbTransaction)null, commandType, commandText, commandParameters, out mustCloseConnection ); // Create the DataAdapter & DataSet using( OleDbDataAdapter da = new OleDbDataAdapter(cmd) ) { DataSet ds = new DataSet(); // Fill the DataSet using default values for DataTable names, etc try { da.Fill(ds); } catch { } // Detach the OleDbParameters from the command object, so they can be used again cmd.Parameters.Clear(); if( mustCloseConnection ) connection.Close(); // Return the dataset return ds; } } E ainda a consulta sql que estou tentando executar : public const string SELECT_FUNC_WHERE = "SELECT " + " CODIGO, CPF, NOME, TELEFONE, EMAIL, ENDERECO, CIDADE, CEP, ESTADO, CATEGORIA , EPC " + "FROM " + " FUNCIONARIOS " + "WHERE " + " CODIGO = ?"; Desculpe a demora dos posts ....é que estou no trabalho !!!!Rs.... Compartilhar este post Link para o post Compartilhar em outros sites
Angelo Compri 0 Denunciar post Postado Janeiro 14, 2010 OK.. vamos tentar alggo simples, verifique se uma clausula sem paramaetros e where funciona. Se funcionar, podem ser os parametros.. Aguardo o resultado. Compartilhar este post Link para o post Compartilhar em outros sites
daianyyy 0 Denunciar post Postado Janeiro 14, 2010 Deu essa mensagem de erro agora : 'PostgreSQL.1' falhou sem nenhuma mensagem de erro disponível. Código do resultado: -2147221163(0x80040155). Compartilhar este post Link para o post Compartilhar em outros sites
Angelo Compri 0 Denunciar post Postado Janeiro 14, 2010 Ou seja, ainda não esta descartado a possibilidade de ser um problema com o Driver... você conseguiu fazer a conexão usando o Excel? Ou apenas fez o teste com o Wizard do VS? Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Janeiro 14, 2010 Movido InterBase / Firebird / PostgreSQL / Outros Bancos de Dados > PostgreSQL http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Plataforma .NET Compartilhar este post Link para o post Compartilhar em outros sites
daianyyy 0 Denunciar post Postado Janeiro 14, 2010 Fiz o teste com o Wizard do Vs e tbm debugando o programa vi que ele passou no connection.Open(); sem gerar nenhuma exceção ...naum é o suficiente??? Compartilhar este post Link para o post Compartilhar em outros sites
Angelo Compri 0 Denunciar post Postado Janeiro 14, 2010 Com ceretza é o suficiente... Agora me admira um SQL simples ter falhado. você tentou algo como: "SELECT * FROM FUNCIONARIOS" E deu erro? Compartilhar este post Link para o post Compartilhar em outros sites
daianyyy 0 Denunciar post Postado Janeiro 14, 2010 Deu erro .... 'PostgreSQL.1' falhou sem nenhuma mensagem de erro disponível. Código do resultado: -2147221163(0x80040155). Compartilhar este post Link para o post Compartilhar em outros sites
Angelo Compri 0 Denunciar post Postado Janeiro 14, 2010 Eu procurei por este erro e encoteri diversas pessoas tendo o mesmo problema, mas nenhuma delas com a solução.. A maioria deixou de usar o OleDb e começou a usar o Mono: http://www.mono-project.com/PostgreSQL Não sei se você pode usar outro recurso de conexão, mas talvez isso ajude.. de qualquer forma vou continuar dando uma fuçada se eu achar algo te aviso.. Beijo. Compartilhar este post Link para o post Compartilhar em outros sites
daianyyy 0 Denunciar post Postado Janeiro 14, 2010 Entaum não posso mudar o driver .....o erro que tah dando tah bem na parte desse codigo using( OleDbDataAdapter da = new OleDbDataAdapter(cmd) ) { DataSet ds = new DataSet(); // Fill the DataSet using default values for DataTable names, etc try { da.Fill(ds); } catch { } Mas valeu a ajuda ...qualquer coisa me avisa ....bjos !!!! Compartilhar este post Link para o post Compartilhar em outros sites
Angelo Compri 0 Denunciar post Postado Janeiro 14, 2010 Vamos lá.. há um site http://www.gcqh.com/postgresql/103 onde informa que é necessário registrar o arquivo PGOLEDB.FLL usando o regsvr32. Talvez isto funcione. precisamos por odem neste caos... Compartilhar este post Link para o post Compartilhar em outros sites