DBD::Pg::st ERROR: Unterminated quoted string
Antonio Padilla
apadilla at ease.com.ve
Thu Nov 30 15:43:38 CST 2000
Estimados ,
Estoy realizando un proceso de migración de datos de una máquina con
SQLServer a una máquina Linux, y el script que a continuación presento
funciona correctamente
>>>>>>>>>>>>>>>>>>>>> comienzo de migrar
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
use DBI;
use DBD::Sybase; # Load the interface with SQLserver
use strict;
....
my $self = shift;
my $sSelectClient;
$sSelectClient= $mDBSqlserverVtime->prepare(q { Select
ClientSerial,
rtrim(ClientId) ,
Speciality ,
rtrim(SpecialityDes ) SpecialityDes ,
MaritalSta ,
rtrim(MaritalStaDes ) MaritalStaDes ,
convert(varchar(10),AprobDate,120),
convert(varchar(10),BirthDate,120) ,
rtrim(Blockade ) Blockade ,
rtrim(BlockadeDes ) BlockadeDes ,
Class ,
rtrim(ClassDes ) ClassDes ,
rtrim(ClieName ) ClieName ,
rtrim(FirstName ) FirstName ,
rtrim(lastName ) lastName ,
convert(varchar(10),DeathDate ,120) ,
convert(varchar(10),DriverDate ,120),
Height ,
rtrim(HouseType ) HouseType ,
rtrim(HouseTypeDes ) HouseTypeDes ,
convert(varchar(10),InpDate,120),
rtrim(License ) License ,
NoteClient ,
Nationalit ,
rtrim(NationalitDes ) NationalitDes ,
QCars ,
QChild ,
rtrim(Gender ) Gender ,
rtrim(GenderDes ) GenderDes ,
rtrim(Smoking ) Smoking ,
rtrim(SmokingDes ) SmokingDes ,
TitlePrefix ,
rtrim(TitlePrefixDes ) TitlePrefixDes,
rtrim(Cuit ) Cuit ,
Weight ,
rtrim(CreditCard ) CreditCard ,
rtrim(CreditCardDes ) CreditCardDes ,
EconomicLev ,
rtrim(EconomicLevDes ) EconomicLevDes,
Sport ,
rtrim(SportDes ) SportDes ,
EmplQua ,
Invoicing ,
ImageNum from eis_client});
$mDBPostgresEis->do(q {DELETE from Client} );
my $sInsert= $mDBPostgresEis->prepare( q { INSERT INTO Client
( ClientSerial , ClientId , Speciality
,
SpecialityDes , MaritalSta , MaritalStaDes
,
AprobDate ,
BirthDate , Blockade , BlockadeDes
,
Class , ClassDes , ClieName
,
FirstName , LastName ,
DeathDate , DriverDate , Height
,
HouseType , HouseTypeDes , InpDate
,
License , NoteClient , Nationalit
,
NationalitDes , QCars , QChild
,
Gender , GenderDes ,
Smoking , SmokingDes , TitlePrefix
,
TitlePrefixDes , Cuit , Weight
,
CreditCard , CreditCardDes , EconomicLev
,
EconomicLevDes , Sport , SportDes
,
EmplQua , Invoicing , ImageNum )
VALUES
? , ? ,? ,
? , ? ,? ,
? , ? ,? ,
? , ? ,? ,
? , ? ,? ,
? , ? ,? ,
? , ? ,? ,
? , ? ,? ,
? , ? ,? ,
? , ? ,? ,
? , ? ,? ,
? , ? ,? ,
? , ? ) });
$sSelectClient->execute() or die 'execute';
@CopyTable = $sSelectClient->fetchall_arrayref;
my $nTotalRows = $#{$CopyTable[0]};
my $nIndexRec = 0;
while ($nIndexRec <= $nTotalRows ){
@sVarAux = @{$CopyTable[0][$nIndexRec]};
$sInsert->execute(@sVarAux) || die "Insert client fallo:
$DBI::errstr\n"; #LINEA DE ERROR
$nIndexRec++;
}
$sSelectClient->finish;
$sInsert->finish;
@sVarAux = undef;
@CopyTable = undef;
>>>>>>>>>>>>>>>>>>>>>>>> fin de migrar <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Obviamente la conexión y desconexión son realizadas satisfactoriamente.
La versión de Perl de esta máquina es v5.6.0 built for i586-linux
La versión de Postgres es psql (PostgreSQL) 7.0.2
DBD::PG v0.95
Ahora bien, estoy haciendo las pruebas en otra máquina con las
siguientes caracteristicas:
La versión de Perl es v5.6.0 built for i686-linux
La versión de Postgres es psql (PostgreSQL) 7.0.2
DBD::PG v0.95
A pesar de que tiene aparentemente lo mismo, incluso la conexión y
lectura de información a través de Sql server lo hace perfectamente,
lamentablemente genera un error para postgres, el cual es:
please use DBI functions for transaction handling at
/usr/local/lib/perl5/site_perl/5.6.0/i686-linux/DBD/Pg.pm line 114.
DBD::Pg::st execute failed: ERROR: Unterminated quoted string
Insert client fallo: ERROR: Unterminated quoted string
Dentro del script se encuentra señalada la línea que falló.
Ahora bien, si para una máquina funciona el script correctamente, porque
para otra no?, tienen alguna idea de que está pasando.
Agradezco cualquier sugerencia.
Antonio Padilla
------------------------------------------------------------------------
Enviar e-mail a <majordomo at pm.org> colocando en el cuerpo:
"UNSUBSCRIBE caracas-pm-list" para desuscribirse.
"INFO caracas-pm-list" para conocer las reglas de etiqueta.
------------------------------------------------------------------------
More information about the caracas-pm
mailing list