• Publicidad

Algún módulo que me conecte a SQLyog

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Algún módulo que me conecte a SQLyog

Notapor majitop1986 » 2008-04-21 11:33 @523

¡Buenos días! Les tengo una pregunta... ¿existe algún módulo que me ayude a conectar mi script en Perl a mi base de datos, en este caso SQLyog...? ¡Que me ayude a utilizar los datos de una tabla de mi base en mi script en Perl!...

¿Alguna idea?
majitop1986
Perlero nuevo
Perlero nuevo
 
Mensajes: 64
Registrado: 2008-04-02 14:04 @628

Publicidad

Notapor explorer » 2008-04-21 12:58 @582

Debes usar el módulo de DBD::mysql. SQLyog es un cliente gráfico de MySQL.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor majitop1986 » 2008-04-21 13:35 @608

¡Muchas gracias por responder, explorer! ¿Ese mismo módulo me serviría para utilizar los datos de una tabla específica en mi script?
majitop1986
Perlero nuevo
Perlero nuevo
 
Mensajes: 64
Registrado: 2008-04-02 14:04 @628

Notapor explorer » 2008-04-21 13:42 @613

Sí.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor kidd » 2008-04-21 14:08 @630

Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Notapor majitop1986 » 2008-04-21 14:37 @651

kidd escribiste:http://perlenespanol.com/tutoriales/bases_de_datos/como_conectarte_a_tu_database.html


¡Hola! Ojalá y me puedas ayudar... estaba probando este script.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/perl

use strict;
use DBI();

#$data_source="localhost";
#$username="root";
#$password="rootwdp";
my $dbh = DBI->connect("DBI:mysql:iac_database",
                        "root","rootwdp",
                        {'RaiseError'=>1});

my $sth = $dbh->prepare("SELECT * FROM cst_usuario");
$sth->execute();
while (my $ref = $sth->fetchrow_hashref())
{
        print "Found a row: id = $ref->{'us_idUsuario'}, name = $ref->{'us_nombre'}, last name = $ref->{'us_apellido'}\n";
}
$sth->finish();

$dbh->disconnect();
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Para conectarme a mi base de datos pero me sale el siguiente error.

Código: Seleccionar todo
DBI connect('iac_database','root',...) failed: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) at base3.pl line 9


Y primero pensé que podría no estar instalado el módulo, pero ya revisé todo... ¡y si está instalado...! ¿que crees que podría ser?

mmmm ¡Alguna ayuda por favor!
majitop1986
Perlero nuevo
Perlero nuevo
 
Mensajes: 64
Registrado: 2008-04-02 14:04 @628

Notapor kidd » 2008-04-21 14:50 @660

La línea debería de ser:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $dbh = DBI->connect("DBI:mysql:host=localhost;database=iac_database",
                        "root","rootwdp",
                        {'RaiseError'=>1});
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4



Saludos
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Notapor majitop1986 » 2008-04-21 15:20 @680

kidd, ¡gracias por contestar! corregí la línea que me dijiste... y el script quedo así
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/perl

use strict;
use DBI();

#$data_source="localhost";
#$username="root";
#$password="rootwdp";
my $dbh = DBI->connect("DBI:mysql:host=localhost;database=iac_database",
                        "root","rootwdp",
                        {'RaiseError'=>1});

my $sth = $dbh->prepare("SELECT * FROM cst_usuario");
$sth->execute();
while (my $ref = $sth->fetchrow_hashref())
{
        print "Found a row: id = $ref->{'us_idUsuario'}, name = $ref->{'us_nombre'}, last name = $ref->{'us_apellido'}\n";
}
$sth->finish();

$dbh->disconnect();
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


¡Y me sale el mismo error!

Código: Seleccionar todo
DBI connect('host=localhost;database=iac_database','root',...) failed: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) at base3.pl line 9

¿Qué crees que pueda ser?

Estuve leyendo el tutorial que me recomendaste... pero me sale errores también. Mira, éste sería el código de ConectarDB.pm

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/perl -w
package ConectarDB;

use strict;
use DBI;

my $db_user = "root";
my $db_pass = "....";

my $host_name = "localhost";
my $db_pass = "......";

my $q_string = "DBI:mysql:host=$host_name;database=$db_name";

sub connect{
return (DBI->connect ($q_string, $db_user, $db_pass,
        {PrintError => 0, RaiseError => 1}));
}

1;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


y aun así me sale error cuando lo llamo de otro script... me sale este error

Código: Seleccionar todo
"my" variable $db_pass masks earlier declaration in same scope at ConectarDB.pm line 11.
Global symbol "$db_name" requires explicit package name at ConectarDB.pm line 13.
Compilation failed in require at base4.pl line 3.
BEGIN failed--compilation aborted at base4.pl line 3.


Te agradecería millón toda la ayuda posible que me puedas brindar.
Última edición por majitop1986 el 2008-06-05 12:02 @543, editado 1 vez en total
majitop1986
Perlero nuevo
Perlero nuevo
 
Mensajes: 64
Registrado: 2008-04-02 14:04 @628

Notapor kidd » 2008-04-21 16:28 @727

Ya el código final que tienes es correcto, ahora el problema no es con Perl sino de MySQL.

Lo primero que tienes que hacer es asegurarte que el proceso de MySQL esté ejecutando, la mayor parte de las veces es por eso que sale el error.

Si tienes Windows, entonces intenta reiniciar y probar de nuevo.

Saludos
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Notapor explorer » 2008-04-21 16:51 @743

Para mi que el servidor de mysql no está arrancado...
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Siguiente

Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados