Re: ayuda con DBI-LINK

From: José Ruiz aguilera <farfaconda(at)gmail(dot)com>
To: "Guido Barosio" <gbarosio(at)gmail(dot)com>
Cc: "Edwin Quijada" <listas_quijada(at)hotmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: ayuda con DBI-LINK
Date: 2007-07-11 07:26:50
Message-ID: ad88fc5e0707110026k5f184b57v15a5f1d22e814728@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Bueno, la verdad es que al principio era que no encontraba las librerias
necesarias, pero el ultimo error lo suelta el SQLSERVER y creo que es cosa
del dbi-link, pero como ya he dicho, he creado una funcion en plperlu que
consigo lo que necesito, asi que ya no me voy a preocupar mas del asunto.

Por cierto, la funcion es la siguiente:

CREATE OR REPLACE FUNCTION ConsultaSQLSERVER(consulta VARCHAR)
RETURNS SETOF record AS
$BODY$
use strict;
use diagnostics;
use DBI;

my $consulta=$_[0];
my $user = 'user';
my $passwd = 'password';

my $dbh =
eval { DBI->connect( 'dbi:Sybase:MyServer2k', $user, $passwd ); }
or die "No se ha podido conectar al SQLSERVER";

my $sql = qq{ $consulta };

my $sth = $dbh->prepare( $sql );
$sth->execute()
or die "No se ha podido lanzar la consulta: " . $sth->errstr;

while(my $row = $sth->fetchrow_hashref) {
return_next($row);
}

$sth->finish();
$dbh->disconnect();
return;
$BODY$
LANGUAGE 'plperlu' VOLATILE;

No es muy elegante, pero para los fines que tengo es mas que suficiente.

El día 11/07/07, Guido Barosio <gbarosio(at)gmail(dot)com> escribió:
>
> Me da la sensacion de que no tu instalacion no esta satisfecha
> respecto a los requerimientos de librerias perl.
>
> Solo eso, una sensacion y nada empirico :)
>
> gb.-
>
> On 7/10/07, Edwin Quijada <listas_quijada(at)hotmail(dot)com> wrote:
> >
> >
> > Puedes postear como lo hciiste sin usar DBI-Link?
> >
> >
> > >From: "José Ruiz aguilera" <farfaconda(at)gmail(dot)com>
> > >To: PostgreSQL <pgsql-es-ayuda(at)postgresql(dot)org>
> > >Subject: Re: [pgsql-es-ayuda] ayuda con DBI-LINK
> > >Date: Tue, 10 Jul 2007 15:58:24 +0200
> > >
> > >Bueno, despues de crear un par de funciones en plperlu, he podido
> acceder
> > >al
> > >servidor SQLSERVER, aunque no es a través de dbi-link, pero oye, menos
> da
> > >una piedra, no?.
> > >
> > >Gracias por el apoyo obtenido!.
> > >
> > >El día 9/07/07, José Ruiz aguilera <farfaconda(at)gmail(dot)com> escribió:
> > >>
> > >>Bueno, despues de mucho pelearme con ello, he conseguido crear una
> funcion
> > >>en plperl que me conecta bien al servidor SQLServer y me devuelve
> datos
> > >>correctos, pero a la hora de crear el esquema de la base de datos
> mediante
> > >>dbi-link me da el siguiente error:
> > >>
> >
> >>----------------------------------------------------------------------------------------------------------
> > >>NOTICE: SELECT dbi_link.set_up_connection(
> > >> 'dbi:Sybase:MyServer2k',
> > >> 'user',
> > >> 'password',
> > >> 'AutoCommit: 1
> > >>RaiseError: 1
> > >>',
> > >> NULL,
> > >> NULL,
> > >> NULL,
> > >> 'setitria'
> > >>)
> > >>
> > >>NOTICE: SELECT count(*) AS "driver_there"
> > >>FROM dbi_link.available_drivers()
> > >>WHERE available_drivers = 'dbi:Sybase:MyServer2k'
> > >>
> > >>CONTEXTO: SQL statement "SELECT dbi_link.set_up_connection(
> > >> 'dbi:Sybase:MyServer2k',
> > >> 'user',
> > >> 'password',
> > >> 'AutoCommit: 1
> > >>RaiseError: 1
> > >>',
> > >> NULL,
> > >> NULL,
> > >> NULL,
> > >> 'setitria'
> > >>)
> > >>"
> > >>El resultado de la consulta con 1 filas descartadas.
> > >>
> > >>ERROR: error from Perl function: error from Perl function: Could not
> > >>connect to database
> > >>data source: dbi:Sybase:MyServer2k
> > >>user: user
> > >>password: password
> > >>dbh attributes:
> > >>AutoCommit: 1
> > >>RaiseError: 1
> > >>
> > >>
> > >>Server message number=3902 severity=16 state=1 line=2
> server=SERV-GESTIO
> > >>text=The COMMIT TRANSACTION request has no corresponding BEGIN
> > >>TRANSACTION.
> > >>at line 35.
> > >>Estado SQL:XX000
> > >>
> >
> >>---------------------------------------------------------------------------------------------------------
> > >>
> > >>Alguien tiene alguna idea?
> > >>
> > >>El 6/07/07, José Ruiz aguilera < farfaconda(at)gmail(dot)com> escribió:
> > >> > Bueno, primero poneros en antecedentes:
> > >> >
> > >> > Yo antes usaba dblink-tds para conectar a una base de datos en
> > >> > SQL-SERVER a traves de postgreSQL, pero como actualizamos la
> version a
> > >> > la 8.2.4 ya no podiamos seguir usandolo, asi que decidimos pasar a
> > >> > DBI-LINK.
> > >> >
> > >> > Primero lo intente instalar en el portatil, pero por diversas
> razones
> > >> > no pude (segui los consejos que le disteis a JLCambero y le pedi
> > >> > consejo tambien), lo deje unos dias para poder dedicarme a otros
> > >> > aspectos y ayer volvi, y lo intente de nuevo.
> > >> >
> > >> > Al principio me daba los mismos errores que cuando la primera vez,
> > >> > pero despues de mucho comerme la cabeza y buscar por internet,
> > >> > consegui conectar a la BD de SQL-SERVER mediante un script en perl
> y
> > >> > que no me diese el mismo error que antes, pero ahora me salta este
> > >> > error:
> > >> >
> > >> > ERROR: error from Perl function: error from Perl function:
> Undefined
> > >> > subroutine &DBD::Sybase::db::_login called at
> > >> > /usr/lib/perl5/5.8.5/DBD/Sybase.pm line 90. at line 35.
> > >> > Estado SQL:XX000
> > >> >
> > >> > He estado buscando por internet a ver si conseguia aclarar algo,
> pero
> > >> > no he podido encontrar nada satisfactorio.
> > >> >
> > >> > A ver si vosotros podriais hecharme una mano, gracias de antemano!
> > >> > --
> > >> > Atte. José Ruiz Aguilera.
> > >> >
> > >>
> > >>
> > >>--
> > >>Atte. José Ruiz Aguilera.
> > >>
> > >
> > >
> > >
> > >--
> > >Atte. José Ruiz Aguilera.
> >
> > _________________________________________________________________
> > ¿Cuánto vale tu auto? Tips para mantener tu carro. ¡De todo en MSN
> Latino
> > Autos! http://latino.msn.com/autos/
> >
> > --
> > ---------------------------(fin del mensaje)---------------------------
> > TIP 6: ¿Has buscado en los archivos de nuestra lista de correo?
> > http://archives.postgresql.org/pgsql-es-ayuda
> >
>
>
> --
> Guido Barosio
> -----------------------
> http://www.globant.com
> guido(dot)barosio(at)globant(dot)com
>

--
Atte. José Ruiz Aguilera.

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Agustin Casiva 2007-07-11 11:40:01 Re: Instalacion modulo ltree
Previous Message Jaime Casanova 2007-07-11 05:03:24 Re: 2 preguntas acerca de fechas