none
conexion postgress y C#

    Question

  • buenos dias compañeros:

    Tengo problemas para conectarme a postgress desde un web form con C#, recibo el siguiente mensaje de error "El codigo de usuario no controlo IOException" y el codigo que tengo es el siguiente:

    NpgsqlConnection conn = newNpgsqlConnection("server=127.789.101.65;uid=postgres;password=*****;database=postgres");

    conn.Open();

    string query = @"select id, nom from funcionarios";

    NpgsqlCommand cmd = newNpgsqlCommand (query, conn);

    NpgsqlDataAdapter da = newNpgsqlDataAdapter (cmd);

    DataSet compras = newDataSet();

    da.Fill(compras,

    "funcionarios");

    GridView1.DataSource = compras;

    GridView1.DataBind();

    Sunday, September 11, 2011 4:56 PM

Answers

  • buenos dias leandro:

    tengo una aplicacion asp.net (webform) C#. estoy intentando conectarme a una base de datos progress openedge que esta en un server linux......le cree la coneccion odbc por "origenes de datos ODBC" y le hice un text a la conexion y salio exitosa.

    cuando me quiero conectar por la aplicacion utilizo el siguiente codigo:

    OdbcConnection conn = new OdbcConnection(@"provider={progress}; server=192.168.101.23; port= 5432;database=pruebas;User id=DBAdmon;Password=45646");

     conn.Open();

    string Consulta = @"select cli_nombre, cli_direccion, cli_telefono from clientes";

    OdbcCommand cmm = new OdbcCommand(Consulta, conn);

    OdbcDataAdapter da = new OdbcDataAdapter(cmm); 

    DataTable compras = new DataTable();

     da.Fill(compras);

     GridView1.DataSource = compras;

     GridView1.DataBind();


    no se si tengo problemas en la cadena de conexion, pues como te comentaba la base de datos esta en un server linux.... me sale el siguiente error!!

    ERROR [IM002] [Microsoft][Administrador de controladores ODBC] No se encuentra el nombre del origen de datos y no se especificó ningún controlador predeterminado

     

    por el databinding si me puedo conectar normal,,,,pero por codigo nooo




    • Marked as answer by Heimarfa Wednesday, September 14, 2011 5:03 PM
    • Unmarked as answer by Heimarfa Wednesday, September 14, 2011 5:03 PM
    • Edited by Heimarfa Wednesday, September 14, 2011 5:03 PM
    • Marked as answer by Heimarfa Monday, October 10, 2011 11:26 PM
    Wednesday, September 14, 2011 2:57 PM

All replies

  • hola

    bueno la estructura del codigo parece estar correcta, por ahi lo que marcaria es que si vas a usar una unica tabla porque no cargas un datatable

    NpgsqlDataAdapter da = newNpgsqlDataAdapter (cmd);
    DataTable compras = new DataTable ();
    da.Fill(compras);
    
    GridView1.DataSource = compras;
    GridView1.DataBind();
    
    

    otro detalle que no se si se debio a un problema cuando copiaste el codigo en el foro, es que el new en la linea

    DataSet compras = newDataSet();

    falta un especio, pero imagino que fue por copiar y pegar al foro el codigo, porque sino no compilaria

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Sunday, September 11, 2011 8:15 PM
  • hola leandro buenos dias:

    utilizo en datatable en lugar del dataset,,,,pero yo creería que el error es diferente. error

    "el codigo de usuario no controlo npgsqlexception" y la descripcion es la siguiente: 

     "FATAL: 28000: no hay una l�nea en pg_hba.conf para �192.168.101.143�, usuario �postgres�, base de datos �oym�, SSL inactivo" .

    ya he revisado el codigo,,y creo que esta super!!,,,no se que pasa, te agradeceria me colaboraraas.... muchas gracias .

    Monday, September 12, 2011 2:33 PM
  • mmm por el mensaje me parece que es algo de la db no del codigo

    me preguto esta db estara bien configurada ?

    tienes alguna aplciacion de administracion desde donde conectarte y validar que el servicio funciona ?

     

    has validado lo que comenta el error,en el archivo pg_hba.conf ? pareciera como que la db no permite acceso remoto

    pero como comente me parece que no es un problema del codigo, sino de configuracion de la db

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Monday, September 12, 2011 2:38 PM
  • buenos dias leandro:

    tengo una aplicacion asp.net (webform) C#. estoy intentando conectarme a una base de datos progress openedge que esta en un server linux......le cree la coneccion odbc por "origenes de datos ODBC" y le hice un text a la conexion y salio exitosa.

    cuando me quiero conectar por la aplicacion utilizo el siguiente codigo:

    OdbcConnection conn = new OdbcConnection(@"provider={progress}; server=192.168.101.23; port= 5432;database=pruebas;User id=DBAdmon;Password=45646");

     conn.Open();

    string Consulta = @"select cli_nombre, cli_direccion, cli_telefono from clientes";

    OdbcCommand cmm = new OdbcCommand(Consulta, conn);

    OdbcDataAdapter da = new OdbcDataAdapter(cmm); 

    DataTable compras = new DataTable();

     da.Fill(compras);

     GridView1.DataSource = compras;

     GridView1.DataBind();


    no se si tengo problemas en la cadena de conexion, pues como te comentaba la base de datos esta en un server linux.... me sale el siguiente error!!

    ERROR [IM002] [Microsoft][Administrador de controladores ODBC] No se encuentra el nombre del origen de datos y no se especificó ningún controlador predeterminado

     

    por el databinding si me puedo conectar normal,,,,pero por codigo nooo




    • Marked as answer by Heimarfa Wednesday, September 14, 2011 5:03 PM
    • Unmarked as answer by Heimarfa Wednesday, September 14, 2011 5:03 PM
    • Edited by Heimarfa Wednesday, September 14, 2011 5:03 PM
    • Marked as answer by Heimarfa Monday, October 10, 2011 11:26 PM
    Wednesday, September 14, 2011 2:57 PM
  • no soy experto en la materia pero al parecer es un error en la base de datos....Ese error indica que tu ip no esta registrada en pg_hba.conf  por eso esque no te deja conectarte.....debes dar de alta tu ip para poder accesar a la base de datos....Pero si tu servidor es local deberias checar si tu servicio esta ejecutandose....pero antes cambia tu linea de conexion : server=127.789.101.65;uid=postgres;password=*****;database=postgres por 

    server=localhost.........

    Friday, April 04, 2014 11:22 PM