Tengo una consulta: estoy creando un script para poder conectarme a dos bases distintas ya que necesito extraer datos de ambas. Estoy usando el DBD::mysql, y así tengo mis objetos inicializados:
Using perl Syntax Highlighting
use strict;
use warnings;
use DBI;
use Mail::Sender;
use DateTime::Format::Strptime;
my $Strp = new DateTime::Format::Strptime(pattern=>'%Y-%m-%d');
my $db='fase2';
my $host='xxx.xxx.net';
#$port="3306";
my $userid='xx-xx';
my $pass='';
my $connectionInfo="DBI:mysql:database=$db;host=$host;mysql_socket=/var/lib/mysql/mysql.sock";
my $dbh = DBI->connect($connectionInfo, 'xx-xx', '$xx', {'RaiseError' => 1});
die "Ha habido un problema al conectar con la base de datos: ".$DBI::errstr unless(defined($dbh));
my $db2='info';
my $host2='xxx.xxx.net';
#$port="3306";
my $userid2='xx-xx';
my $pass2='';
my $connectionInfo2="DBI:mysql:database=$db2;host=$host2;mysql_socket=/var/lib/mysql/mysql.sock";
my $dbh2 = DBI->connect($connectionInfo2, 'xx-xx', '$xx', {'RaiseError' => 1});
die "Ha habido un problema al conectar con la base de datos: ".$DBI::errstr unless(defined($dbh2));
use warnings;
use DBI;
use Mail::Sender;
use DateTime::Format::Strptime;
my $Strp = new DateTime::Format::Strptime(pattern=>'%Y-%m-%d');
my $db='fase2';
my $host='xxx.xxx.net';
#$port="3306";
my $userid='xx-xx';
my $pass='';
my $connectionInfo="DBI:mysql:database=$db;host=$host;mysql_socket=/var/lib/mysql/mysql.sock";
my $dbh = DBI->connect($connectionInfo, 'xx-xx', '$xx', {'RaiseError' => 1});
die "Ha habido un problema al conectar con la base de datos: ".$DBI::errstr unless(defined($dbh));
my $db2='info';
my $host2='xxx.xxx.net';
#$port="3306";
my $userid2='xx-xx';
my $pass2='';
my $connectionInfo2="DBI:mysql:database=$db2;host=$host2;mysql_socket=/var/lib/mysql/mysql.sock";
my $dbh2 = DBI->connect($connectionInfo2, 'xx-xx', '$xx', {'RaiseError' => 1});
die "Ha habido un problema al conectar con la base de datos: ".$DBI::errstr unless(defined($dbh2));
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4
Ahora ambas bases de datos están en el mismo host y por lo mismo puedo acceder a ella con el mismo user y pass pero me sale este error:
- Código: Seleccionar todo
DBD::mysql::st execute failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 at recordatorio.pl line 387.
Lo que tengo en la línea 387 y antes de ella es esto:
Using perl Syntax Highlighting
$queryDep = "SELECT filial, departamento FROM departamentos WHERE id_departamentos=".$idDepartamento;
$sthDep = $dbh2->prepare($queryDep);
$sthDep->execute();
$sthDep = $dbh2->prepare($queryDep);
$sthDep->execute();
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Ayuda, por favor