Foros del Web » Programación para mayores de 30 ;) » Programación General »

Como se instala en una consola de linux paquetes DBD, DBI y DDL ?

Estas en el tema de Como se instala en una consola de linux paquetes DBD, DBI y DDL ? en el foro de Programación General en Foros del Web. Hola a todos, Tengo que instalar estos paquetes pero primero no se a que path bajar, "usr/lib/perl5" o a algún otro de estos "usr/lib/perl5/5.8.X" este ...
  #1 (permalink)  
Antiguo 03/09/2009, 01:14
 
Fecha de Ingreso: junio-2009
Mensajes: 174
Antigüedad: 14 años, 10 meses
Puntos: 0
Exclamación Como se instala en una consola de linux paquetes DBD, DBI y DDL ?

Hola a todos,
Tengo que instalar estos paquetes pero primero no se a que path bajar, "usr/lib/perl5" o a algún otro de estos "usr/lib/perl5/5.8.X" este X puede ser 5,6,7 u 8 ?. Despues de bajar estos archivos alguien me puede decir como instalar de una manera rápida ? Porque intento entender los archivos README pero no hay manera.
(Estos paquetes sirven para que las aplicaciones de Perl tengan acceso mediante un interfaz a la BD).
Gracias por vuestro interes.
  #2 (permalink)  
Antiguo 03/09/2009, 06:38
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 3 meses
Puntos: 90
Respuesta: Como se instala en una consola de linux paquetes DBD, DBI y DDL ?

Los módulos que mensionas ya vienen empaquetados por el mismo sistema operativo...su usas YUM o APT-GET o algún administrador gráfico busca la palabra perl y te saldrán todos los paquetes disponibles, muchos son módulos...Entre ellos el DBD::Mysql y el DBI...El DDL no se, habría que buscarlo...

Saludos
PD: La forma tradicional de instalarlos es con el comando CPAN MODULO
__________________
Esteban Quintana
  #3 (permalink)  
Antiguo 03/09/2009, 07:01
 
Fecha de Ingreso: junio-2009
Mensajes: 174
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Como se instala en una consola de linux paquetes DBD, DBI y DDL ?

Hola Esteban,
A la hora de ejecutar una aplicación me pedía el DBI.pm y entonces he tenido que bajar una carpeta que se llama DBI-1.609 y luego instalarla. Después intenté ejecutar otra vez la aplicación y me decía que no encontraba el "String/Random.pm". Despues de esto leí en otra parte que necesitaría los paquetes (DBD,DDL y DBI) pero no lo sé donde poner. Quiero desinstalar todos los cambios que he hecho en el directorio "usr/lib/perl5" hasta ahora y seguir tus pasos.
  #4 (permalink)  
Antiguo 03/09/2009, 10:46
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 3 meses
Puntos: 90
Respuesta: Como se instala en una consola de linux paquetes DBD, DBI y DDL ?

la cagada de compilar es que luego no puedes descompilar, supuestamente tienes que eliminar todos los archivos que se hayan instalado pero me resulta muy feo eso...

Intenta instalar como te digo y pisa lo viejo...

Saludos
__________________
Esteban Quintana
  #5 (permalink)  
Antiguo 11/09/2009, 01:39
 
Fecha de Ingreso: junio-2009
Mensajes: 174
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Como se instala en una consola de linux paquetes DBD, DBI y DDL ?

Al instalar DBD::Oracle
En el fichero 24implicit_utf8 me casca en las lineas 33,34,70,71 la verdad que no entiendo lo que debo cambiar. Alguién sabe lo que debo poner ? Por se acaso os voy a poner lo que hay en esa página (24implicit_utf8):

#!perl -w
#written by Lincoln A Baxter ([email protected])

use strict;
#use warnings;
use Test::More;

unshift @INC ,'t';
require 'nchar_test_lib.pl';

use DBI qw(:sql_types);
use DBD::Oracle qw(:ora_types ORA_OCI SQLCS_NCHAR );

my $dbh;
$| = 1;
SKIP: {
plan skip_all => "Unable to run 8bit char test, perl version is less than 5.6" unless ( $] >= 5.006 );
plan skip_all => "Oracle charset tests unreliable for Oracle 8 client"
if ORA_OCI() < 9.0 and !$ENV{DBD_ALL_TESTS};

$dbh = db_handle(); # just to check connection and db NCHAR character set
plan skip_all => "Not connected to oracle" if not $dbh;
plan skip_all => "Database NCHAR character set is not Unicode" if not db_nchar_is_utf($dbh) ;
$dbh->disconnect();

diag(" --- testing implicit csform (dbhimp.c sets csform implicitly)\n") ;
my $tdata = test_data( 'wide_nchar' );
my $testcount = 0
+ insert_test_count( $tdata )
+ select_test_count( $tdata ) * 1;
;

my @nchar_cset = (ORA_OCI >= 9.2) ? qw(UTF8 AL32UTF8) : qw(UTF8);
plan tests => $testcount * @nchar_cset;
show_test_data( $tdata ,0 );

foreach my $nchar_cset (@nchar_cset) {
$dbh->disconnect() if $dbh;
undef $dbh;
diag(" --- testing with NLS_NCHAR=$nchar_cset\n") ;
SKIP: {
set_nls_nchar( $nchar_cset ,1 );
$dbh = db_handle();
show_db_charsets($dbh);
skip "failed to connect to oracle with NLS_NCHAR=$nchar_cset" ,$testcount if not $dbh;
drop_table($dbh);
create_table( $dbh, $tdata );
insert_rows( $dbh, $tdata );
dump_table( $dbh ,'nch' ,'descr' );
select_rows( $dbh, $tdata );
}
}
}

END {
eval {
local $dbh->{PrintError} = 0;
drop_table( $dbh ) if $dbh and not $ENV{'DBD_SKIP_TABLE_DROP'};
};
}

__END__

Gracias a todos !!!!!

Última edición por alkortius; 14/09/2009 a las 01:31
  #6 (permalink)  
Antiguo 11/09/2009, 05:08
 
Fecha de Ingreso: junio-2009
Mensajes: 174
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Como se instala en una consola de linux paquetes DBD, DBI y DDL ?

Hola otra vez,
He encontrado en una página que puede ser por incompatibilidad de versiones.
Alguién me podría decir que versión de DBD::Oracle tendría que instalar para el ORACLE 9.2.0.6.0 ?
Gracias.
  #7 (permalink)  
Antiguo 12/09/2009, 10:29
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 3 meses
Puntos: 90
Respuesta: Como se instala en una consola de linux paquetes DBD, DBI y DDL ?

En la página oficial del módulo te lo indica, con cuadrito muy simple

http://search.cpan.org/~pythian/DBD-...cle_is_for_me?

Saludos
__________________
Esteban Quintana
  #8 (permalink)  
Antiguo 14/09/2009, 05:11
 
Fecha de Ingreso: junio-2009
Mensajes: 174
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Como se instala en una consola de linux paquetes DBD, DBI y DDL ?

Hola a todos,
Por lo tanto puedo instalar cualquier DBD::Oracle.
Si alguién supiera como instalar me haría un gran favor, porque me sigue dando el mismo error que en la respuesta #5.
Saludos.
  #9 (permalink)  
Antiguo 15/10/2009, 07:24
 
Fecha de Ingreso: junio-2009
Mensajes: 174
Antigüedad: 14 años, 10 meses
Puntos: 0
Exclamación Respuesta: Como se instala en una consola de linux paquetes DBD, DBI y DDL ?

Al intentar instalar DBD::Oracle me surge el siguiente error:

Cita:
t/23wide_db.............skipped
all skipped: Database character set is not Unicode
t/23wide_db_8bit........skipped
all skipped: Database character set is not Unicode
t/23wide_db_al32utf8....skipped
all skipped: Database character set is not Unicode
t/24implicit_utf8.......NOK 33
t/24implicit_utf8.......NOK 34
# row 4: DUMP(nch) = Typ=1 Len=4: 0,38,0,58
t/24implicit_utf8.......NOK 70
t/24implicit_utf8.......NOK 71
# row 4: DUMP(nch) = Typ=1 Len=4: 0,38,0,58
t/24implicit_utf8.......dubious
Test returned status 4 (wstat 1024, 0x400)
DIED. FAILED tests 33-34, 70-71
Failed 4/74 tests, 94.59% okay
t/25plsql...............ok
t/26exe_array...........ok
t/28array_bind..........ok
t/30long................ok
122/479 skipped: various reasons
t/31lob.................ok
t/31lob_extended........ok
t/32xmltype.............ok
t/34pres_lobs...........ok
t/40ph_type.............ok 1/19 Placeholder behaviour for ora_type=1 VARCHAR2 (the default) varies with Oracle version.
Oracle 7 didn't strip trailing spaces, Oracle 8 did, until 9.2.x
Your system doesn't. If that seems odd, let us know.
t/40ph_type.............ok
t/50cursor..............ok
t/51scroll..............ok
t/55nested..............ok
t/56embbeded............ok
t/58object..............ok
t/60reauth..............skipped
all skipped: ORACLE_USERID_2 not defined.
t/70meta................ok
t/80ora_charset.........ok
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t/24implicit_utf8.t 4 1024 74 4 5.41% 33-34 70-71
4 tests and 125 subtests skipped.
Failed 1/30 test scripts, 96.67% okay. 4/2127 subtests failed, 99.81% okay.
make: *** [test_dynamic] Error 255
/usr/bin/make test -- NOT OK
Running make install
make test had returned bad status, won't install without force
¿ Alguien me podría decir lo que puedo hacer ?
Gracias ante todo.
  #10 (permalink)  
Antiguo 15/10/2009, 11:48
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 3 meses
Puntos: 90
Respuesta: Como se instala en una consola de linux paquetes DBD, DBI y DDL ?

Si usas la opción force te lo instalará de todas, pensá que el test da ok en un 97%

Una vez tuve que instalar el DBD::Mysql con force y me anduvo perfecto...y todavía lo sigue haciendo...

Saludos
__________________
Esteban Quintana
  #11 (permalink)  
Antiguo 16/10/2009, 01:52
 
Fecha de Ingreso: junio-2009
Mensajes: 174
Antigüedad: 14 años, 10 meses
Puntos: 0
Exclamación Respuesta: Como se instala en una consola de linux paquetes DBD, DBI y DDL ?

Gracias monoswim !!!!

Lo que me ocurre ahora es que no se conecta como es debido.
1. Ejecuto un script que dentro tiene lo siguiente:
Cita:
for i in TABLE PACKAGE COPY VIEW GRANT SEQUENCE TRIGGER FUNCTION PROCEDURE TABLESPACE ;\
do \
perl -p -i -e "s/^TYPE\s+.*/TYPE $i/; s/^OUTPUT\s+.*/OUTPUT $i.sql/" ora2pg.conf; \
ora2pg.pl ora2pg.conf; \
done
Pero lo que me responde es esto:
Cita:
DBI connect('host=192.168.233.57;port=5432','postgres' ,...) failed: Can't connect using this syntax without specifying a HOST and one of SID INSTANCE_NAME SERVER SERVICE_NAME at Ora2Pg.pm line 660
Error : -1 ... Can't connect using this syntax without specifying a HOST and one of SID INSTANCE_NAME SERVER SERVICE_NAME
Voy a la linea 660 de Ora2Pg.pm y veo esto:
Cita:
$self->{dbh} = DBI->connect($self->{oracle_dsn}, $self->{oracle_user}, $self->{oracle_pwd});
Pero lo que no entiendo es que esas variables que se llaman oracle_dsn, oracle_user y oracle_pwd y por otra parte la respuesta que consigo al ejecutar el script que me aparezcan valores que sirvan para hacer la conexión con el postgreSQL.

Los valores que pongo para hacer la conexión a la BD de oracle las pongo en ora2pg.conf y los valores para la conexión con la BD de postgre ¿donde se deben poner? creo que por ahí van los tiros !!! GRACIAS.
  #12 (permalink)  
Antiguo 16/10/2009, 02:21
 
Fecha de Ingreso: junio-2009
Mensajes: 174
Antigüedad: 14 años, 10 meses
Puntos: 0
Exclamación Respuesta: Como se instala en una consola de linux paquetes DBD, DBI y DDL ?

Se me ha olvidado poner unos datos de interés:

esto en ora2pg.pl

Cita:
my $dbsrc = 'dbi:Oracle:host=192.168.233.57;port=5432';
my $dbuser = 'postgres';
my $dbpwd = 'xxx';
y lo que viene abajo en ora2pg.conf :
Cita:

ORACLE_DSN dbi:Oracle:host=127.0.0.1;sid=popo

ORACLE_USER popo
ORACLE_PWD popo
SCHEMA popo
Debo dejar claro que las dos BD están en el mismo ordenador !!! sabiendo eso en el DSN también he probado con 192.168.233.57 pero tampoco no me funciona.
Saludos.
  #13 (permalink)  
Antiguo 16/10/2009, 09:39
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 3 meses
Puntos: 90
Respuesta: Como se instala en una consola de linux paquetes DBD, DBI y DDL ?

No debes de tocar el .pm, ese no se edita...

si las 2 dbs están en local usa la 127.0.0.1 en ambas...no la ip de la red...Prueba con eso y me dices...
__________________
Esteban Quintana
  #14 (permalink)  
Antiguo 19/10/2009, 01:02
 
Fecha de Ingreso: junio-2009
Mensajes: 174
Antigüedad: 14 años, 10 meses
Puntos: 0
Exclamación Respuesta: Como se instala en una consola de linux paquetes DBD, DBI y DDL ?

He probado poniendo en ora2pg.pl:

Cita:
my $dbsrc = 'dbi:Oracle:host=127.0.0.1;port=5432';
my $dbuser = 'postgres';
my $dbpwd = 'xxx';
y

Cita:
my $dbsrc = 'dbi:Oracle:host=127.0.0.1';
my $dbuser = 'postgres';
my $dbpwd = 'xxx';
pero nada de nada.

Eso es lo que me decias, no ?
Gracias.
  #15 (permalink)  
Antiguo 19/10/2009, 01:10
 
Fecha de Ingreso: junio-2009
Mensajes: 174
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Como se instala en una consola de linux paquetes DBD, DBI y DDL ?

Se me ha olvidado decir que en mi pc tengo un XP com SO y tengo una máquina virtual en mi pc que tiene un Red Hat como SO. En este último están en marcha las dos BD.
  #16 (permalink)  
Antiguo 19/10/2009, 04:38
 
Fecha de Ingreso: junio-2009
Mensajes: 174
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Como se instala en una consola de linux paquetes DBD, DBI y DDL ?

Hola,

He vuelto al paso de instalar otra vez DBD::Oracle por sea caso y me responde lo siguiente:

Cita:
t/23wide_db.............skipped
all skipped: Database character set is not Unicode
t/23wide_db_8bit........skipped
all skipped: Database character set is not Unicode
t/23wide_db_al32utf8....skipped
all skipped: Database character set is not Unicode
t/24implicit_utf8.......NOK 33
t/24implicit_utf8.......NOK 34
# row 4: DUMP(nch) = Typ=1 Len=4: 0,38,0,58
t/24implicit_utf8.......NOK 70
t/24implicit_utf8.......NOK 71
# row 4: DUMP(nch) = Typ=1 Len=4: 0,38,0,58
t/24implicit_utf8.......dubious
Test returned status 4 (wstat 1024, 0x400)
DIED. FAILED tests 33-34, 70-71
Failed 4/74 tests, 94.59% okay
t/25plsql...............ok
t/26exe_array...........ok
t/28array_bind..........ok
t/30long................ok
122/479 skipped: various reasons
t/31lob.................ok
t/31lob_extended........ok
t/32xmltype.............ok
t/34pres_lobs...........ok
t/40ph_type.............ok 1/19 Placeholder behaviour for ora_type=1 VARCHAR2 (the default) varies with Oracle version.
Oracle 7 didn't strip trailing spaces, Oracle 8 did, until 9.2.x
Your system doesn't. If that seems odd, let us know.
t/40ph_type.............ok
t/50cursor..............ok
t/51scroll..............ok
t/55nested..............ok
t/56embbeded............ok
t/58object..............ok
t/60reauth..............skipped
all skipped: ORACLE_USERID_2 not defined.
t/70meta................ok
t/80ora_charset.........ok
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t/24implicit_utf8.t 4 1024 74 4 5.41% 33-34 70-71
4 tests and 125 subtests skipped.
Failed 1/30 test scripts, 96.67% okay. 4/2127 subtests failed, 99.81% okay.
make: *** [test_dynamic] Error 255
/usr/bin/make test -- NOT OK
Running make install
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Writing /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/DBD/Oracle/.packlist
Appending installation info to /usr/lib/perl5/5.8.8/i386-linux-thread-multi/perllocal.pod
/usr/bin/make install -- OK
NO ESTA BIEN INSTALADO, NO ?
y si es así que puedo hacer ? Porque estoy pensando que los errores que surgen al ejecutar ora2pg pueden ser por no haber instalado bien el DBD::Oracle.
¿Que creis vosotros?
Gracias a todos y un saludo.
  #17 (permalink)  
Antiguo 19/10/2009, 06:28
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 3 meses
Puntos: 90
Respuesta: Como se instala en una consola de linux paquetes DBD, DBI y DDL ?

EL programa y la base de datos NO están en la misma PC ?

El 127.0.0.1 es la IP de localhost, o sea de la misma PC, prueba primero así y luego a través de la red...

La verdad es que no se porque no te lo instala, si lo estás instalando desde la paquetería de tu distro no deberias de tener ningún inconveniente...SI lo instalar desde cpan tampoco te funciona ?

Saludos
__________________
Esteban Quintana
  #18 (permalink)  
Antiguo 19/10/2009, 06:49
 
Fecha de Ingreso: junio-2009
Mensajes: 174
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Como se instala en una consola de linux paquetes DBD, DBI y DDL ?

Si que están en el mismo PC las BD y la aplicación.
Seguiré intentando .....
Gracias por todo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:53.