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