Errore di connessione a un DB Access con tavole linkate

Ho trasferito gli scripts php su un computer nuovo (CON BANCO DI MEMORIA DI 1M) e un pezzo di programma non funziona  dandomi l'allegato errore:

'Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> Microsoft JET Database Engine<br/><b>Description:</b> ODBC--connection to 'ODBCESIPE_NEW' failed.' in C:\Program Files\Apache Group\Apache2\htdocs\WEB_Ferieprog\caricamento_programmate_base_2006.php:20 Stack trace: #0 C:\Program Files\Apache Group\Apache2\htdocs\WEB_Ferieprog\caricamento_programmate_base_2006.php(20): com->Open('SELECT * FROM v...', Object(com)) #1 C:\Program Files\Apache Group\Apache2\htdocs\WEB_Ferieprog\batch_download.php(43): include('C:\Program File...') #2 {main} thrown in C:\Program Files\Apache Group\Apache2\htdocs\WEB_Ferieprog\caricamento_programmate_base_2006.php on line 20.'

Cosa fa il programma: apre un mdb Access che ha alcune tavole linkate con un altro mdb ed aggiorna un mbd MySQL.

Gli ODBC dovrebbero essere a posto perche' quando li apro manualmente riesco a vedere il contenuto delle tavole.

allego il contenuto del programma php.

Grazie a chi potra' darmi una qualche indicazione a risolvere il problema.

Grazie

Maurizio

fputs($f,$test1);

//  =======copia da access su mysql le ferie programmate

//  =======dpoi esegue programmate_aggiornamento  (su file tracciatore per il 2006)

//  =======se necvessario programmate _calcolo per genereare l'archivio 2005

   $db = "C:\WEB_Ferie/Massera_riple-2.mdb";

    $sc = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=$db;";

include ("apertura_mysql.php");

// blocco accesso a sistema

      $sql123 = "UPDATE parametri SET valore='0' WHERE progressivo='8'";

      $query123=mysql_query($sql123,$db);if (!$query123 ){echo "ERRORE n. CM-88 :",mysql_error();}

      $sql128 = "UPDATE parametri SET valore='Servizio temporaneamente sospeso per aggiornamento dati' WHERE progressivo='9'";

      $query128=mysql_query($sql128,$db);if (!$query128 ){echo "ERRORE n. CM-88 :",mysql_error();}

$tt=0;

   $cn = new COM("ADODB.Connection");

   $rs = new COM("ADODB.Recordset");            

     $cn->open($sc);

   $rs->Open("SELECT * FROM visora_rpscpi_ferie_massera", $cn);      

   while(!$rs->EOF) { 

      $clscompo=$rs->Fields ['clscompo']->value;   

      $cddipend=$rs->Fields ['cddipend']->value;   

      $mtinterv=$rs->Fields ['mtinterv']->value;   

      $cdcausal=$rs->Fields ['cdcausal']->value;   

//echo $CLSCOMPO,"----",$MTINTERV;

$rs->MoveNext() ;

$matcddipend[$cont]=$cddipend;

$matclscompo[$cont]=$clscompo;

$matmtinterv[$cont]=$mtinterv;

$matcdcausal[$cont]=$cdcausal;

$cont++;

 }

echo $test2="NUMERO RIGHE  FILE base_programmate".$cont."\n";

fputs($f,$test2);

//======================================================================

$sql = 'TRUNCATE TABLE `base_programmate`';

$q=$query8=mysql_query($sql,$db);if (!$q ){echo "ERRORE n. CP-00 :",mysql_error();break;}

for ($c=0 ;$c<$cont+1;$c++ ){

$a1=$matcddipend[$c];

$b1=$matclscompo[$c];

$b2=$matcdcausal[$c];

$c1=$matmtinterv[$c];

if ($c1=="30" ){$c1="50";}

$c1=$c1/100;

echo $test3=$c."  ".$matcddipend[$c]."  ".$matclscompo[$c]."  ".$c1."<br>"."\n";

fputs($f,$test3);

$sql="INSERT INTO base_programmate (cddipend,clscompo,cdcausal,mtinterv)

    values ('$a1','$b1','$b2','$c1')";

      $q=$query=mysql_query($sql,$db);if (!$q ){echo "ERRORE n. CP-01 :",mysql_error();break;}

}

//===================programmate_aggiornamento.php

echo "     aggiorna il campo programmate nel tracciatore","<br>";

$query4wz="update tracciatore set programmate='0', FAprogrammate='0'";

            $query44w=mysql_query($query4wz,$db);if (!$query44w ){echo "ERRORE n. Cp-44 :",mysql_error();break;}

                     //--------------------------------------------estrae ferie programmate  FEG

                  $t=0;

                  $ttfag=0;

                  $ttfeg=0;

                  $query4="select cddipend from tracciatore";

                     $query44=mysql_query($query4,$db);

                     while($q4=mysql_fetch_array($query44)){   $t++;

                  $cddd[$t]=$q4['cddipend'];   }

                           $tm=0;

                        for ($c=0 ;$c<$t+1 ;$c++ ){

                          $query65="   select

                         cddipend, sum(mtinterv) as somma, substring(clscompo,1,4) as anno,

                           substring(clscompo,5,2) as mese

                          from base_programmate

                        where cddipend='$cddd[$c]' and left(clscompo,4)='2006' and cdcausal='FEG'                      

                        group by mese";

            $query665=mysql_query($query65,$db);

            while($q65=mysql_fetch_array($query665)){

$somma=      $q65['somma'];         

$anno=      $q65['anno'];

$mese=      $q65['mese'];

if ($mese>=$param['mese_ult']) {

$tm=      $tm+$somma;

$ttfeg=      $ttfeg+$somma;

   echo $test4="FEG---".$c."---".$cddd[$c]."--".$mese."--".$tm."<br>"."\n"   ;   

   fputs($f,$test4);

}

}

$query4z="update tracciatore set programmate=$tm  where cddipend='$cddd[$c]'";

         $query44z=mysql_query($query4z,$db);if (!$query44z ){echo "ERRORE n. Cp-54 :",mysql_error();break;}

$tm=0;

}

//--------------------------------------------estrae ferie programmate  FAG

                           $tm=0;

                        for ($c=0 ;$c<$t+1 ;$c++ ){

                          $query45="   select

                         cddipend, sum(mtinterv) as somma, substring(clscompo,1,4) as anno,

                           substring(clscompo,5,2) as mese

                          from base_programmate

                        where cddipend='$cddd[$c]' and left(clscompo,4)='2006' and cdcausal='FAG'

                        group by mese";

            $query465=mysql_query($query45,$db);

            while($q45=mysql_fetch_array($query465)){

$somma=      $q45['somma'];         

$anno=      $q45['anno'];

$mese=      $q45['mese'];

if ($mese>=$param['mese_ult']) {

$tm=      $tm+$somma;

$ttfag=$ttfag+$somma;

   echo $test5="FAG---".$c."---".$cddd[$c]."--".$mese."--".$tm."<br>"."\n"   ;   

   fputs($f,$test5);

}

}

$query4z="update tracciatore set FAprogrammate=$tm  where cddipend='$cddd[$c]'";

         $query44z=mysql_query($query4z,$db);if (!$query44z ){echo "ERRORE n. Cp-54 :",mysql_error();break;}

$tm=0;

}

        $sqlt1 = "select count(distinct cddipend) as contatot1  from base_programmate ";

       $queryt1=mysql_query($sqlt1,$db);

       $qt1=mysql_fetch_array($queryt1);

       $contatot1=$qt1['contatot1'];

           $sqlt11 = "select  cddipend from base_programmate group by cddipend";

       $queryt11=mysql_query($sqlt11,$db);

              while($qt11=mysql_fetch_array($queryt11)){

             $cont1++;

      $base[$cont1]=$qt11['cddipend'];

       }

          $sqlt2 = "select count(cddipend) as contatot2  from tracciatore ";

       $queryt2=mysql_query($sqlt2,$db);

       $qt2=mysql_fetch_array($queryt2);

       $contatot2=$qt2['contatot2'];

           $sqlt22 = "select  cddipend,nome_employee from tracciatore";

       $queryt22=mysql_query($sqlt22,$db);

              while($qt22=mysql_fetch_array($queryt22)){

             $cont2++;

   $trac[$cont2]=$qt22['cddipend'];

   $tracnome[$cont2]=$qt22['nome_employee'];

       }

   echo $test6="numero codici totali esistenti in BASE_PROGRAMMATE:".$contatot1."<br>"."\n";

   echo $test7="numero codici trovati in TRACCIATORE :".$contatot2."<br>"."\n";

      fputs($f,$test6);

         fputs($f,$test7);

   for ($c1 ;$c1<$cont1+1 ;$c1++ ){

   $cddipend=$base[$c1];

       $sqlt2 = "select cddipend from tracciatore where cddipend='$cddipend'";

       $queryt2=mysql_query($sqlt2,$db);

       $qt2=mysql_fetch_array($queryt2);

       if(!$qt2){

       echo $test6="codice non trovato su tracciatore :".$cddipend."<br>"."\n";

fputs($f,$test6);

}   

}   

   for ($c2 ;$c2<$cont2+1 ;$c2++ ){

   $cddipend=$trac[$c2];

   $nome_employee=$tracnome[$c2];

       $sqlt3 = "select cddipend from base_programmate where cddipend='$cddipend' group by cddipend";

       $queryt3=mysql_query($sqlt3,$db);

       $qt3=mysql_fetch_array($queryt3);

       if(!$qt3){

       echo $test7="codice non trovato su base_programmate :".$cddipend."---".$nome_employee."<br>"."\n";

fputs($f,$test7);

}   

}   

echo "Totale ferie FAG :",$ttfeg,"<br>"."\n";

echo "Totale ferie FAG :",$ttfag,"<br>"."\n";

echo "FINE";

$risult="FINE caric.fr.prog -----"."Totale ferie FEG :".$ttfeg."---------Totale ferie FAG :".$ttfag."<br>"."\n";

fputs($f,$risult);

   $sql123 = "UPDATE parametri SET valore='1' WHERE progressivo='8'";

      $query123=mysql_query($sql123,$db);if (!$query123 ){echo "ERRORE n. CM-88 :",mysql_error();}

?>

inviato 10 anni fa
r17
r17
1
X 0 X

L'errore principale dovrebbe essere questo:

ODBC--connection to 'ODBCESIPE_NEW' failed

quindi un errore di connessione.

Potrebbe essere legato al trasferimento dello script sul nuovo computer?

risposto 10 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda
 

[pagina costruita in 0.009s]