Results 1 to 2 of 2

Thread: PHP ODBC Connection to Paradox DB

  1. #1
    Join Date
    Jan 2010
    Posts
    1

    PHP ODBC Connection to Paradox DB

    Hi,

    I have a paradox DB that I created a DSN ODBC connection with in Windows 2008. I also have apache running on the same box.

    I am trying to connect to the db via ODBC and PHP but I have hit some serious road blocks.

    My PHP script, parses the DB and extracts the information to a MYSQL database every 10 seconds. The issue is that it dies, not when I connect to the ODBC datasource but when I query against it! But it's not consistent.... for example:

    There are times when my script runs without any issues!
    There are times when it dies completely barfing error code: S0002 - essentially telling me it can't find the table.
    There are times when it consistently works one iteration and then dies every second iteration...

    I can view this database in EXCEL, 100% at all times via ODBC!

    Does anyone have any suggestions or thoughts onto what's happening here?

    Thanks,
    Jeremiah

    Code:
      include "DatabaseHandler.php";
      
      //for each file in folder that has an extension .db
      //parse and upload to database
      //remove/delete file when finished
    
      ini_set('memory_limit', '64M');
      //set_time_limit(300);           
      
      echo "Start@(".date('h:i:s').")</br>";
      ExtractFromParadoxInsertIntoSQL($ParadoxDatabase);
      
      /*
      * @desc Grabs events from paradox db and dumps them into a SQL file
      */
      function ExtractFromParadoxInsertIntoSQL($db){
    
       // include_once "DatabaseHandler.php";   
        define ('PkMessageInfo', 1);
        define ('DateTime', 6);
        define ('MessageType', 7);
        define ('Message', 8);
        define ('Message1', 9);
        define ('Message2', 10);
        define ('ObjectDescription1', 24);
        define ('Description11', 25);
        define ('Description12', 26);
        define ('ObjectDescription2', 28);
        define ('Description21', 29);
        define ('Description22', 30);
        define ('ObjectDescription3', 32);
        define ('Description31', 33);
        define ('Description32', 34);
    
        try{
                                          
          //copy file
          copy("C:/Program Files/KT/Data/messageinfo.db","c:/xampp/htdocs/myprogram/paradox.db");
          $connection = odbc_connect("paradox.DB","",""); 
          
         $from = Date('Y-m-d H:i:s', strtotime('-5 hours')); //today minus 5 hours 
          
          $strQuerySQL = "SELECT * FROM messageinfo
                          WHERE datetime >{ts '$from'}
                          AND (messagetype=65 or messagetype=72)
                          ";
    
    
    /*
    *  THE FOLLOWING LINE OF CODE SEEMS TO NOT WORK ALL THE TIME :mad::mad::mad:
    */
          $result = odbc_exec($connection, $strQuerySQL) or die(odbc_errormsg($connection));
    
    
          
     
         $iCount = 0;  
          while( odbc_fetch_row( $result ) ) {
            $intPKMessageInfo = odbc_result($result, PkMessageInfo);
            $dateDateTime = odbc_result($result, DateTime);
            $intMessageType = odbc_result($result, MessageType);
            $intMessage = odbc_result($result, Message);
            $strMessage1 = odbc_result($result, Message1);
            $strMessage2 = odbc_result($result, Message2);
            $intObjectDescription1 = odbc_result($result, ObjectDescription1);
            $strDescription11 = odbc_result($result, Description11);
            $strDescription12 = odbc_result($result, Description12);
            $intObjectDescription2 = odbc_result($result, ObjectDescription2);
            $strDescription21 = odbc_result($result, Description21);
            $strDescription22 = odbc_result($result, Description22);
            $intObjectDescription3 = odbc_result($result, ObjectDescription3);
            $strDescription31 = odbc_result($result, Description31);
            $strDescription32 = odbc_result($result, Description32);
            
            
             echo "<tr>";
             echo "<td>$intPKMessageInfo</td>";
             echo "<td>$dateDateTime</td>";
             echo "<td>$intMessageType</td>";
             echo "<td>$intMessage</td>";
             echo "<td>$strMessage1</td>";
             echo "<td>$strMessage2</td>";
             echo "<td>$intObjectDescription1</td>";
             echo "<td>$strDescription11</td>";
             echo "<td>$strDescription12</td>";
             echo "<td>$intObjectDescription2</td>";
             echo "<td>$strDescription21</td>";
             echo "<td>$strDescription22</td>";
             echo "<td>$intObjectDescription3</td>";
             echo "<td>$strDescription31</td>";
             echo "<td>$strDescription32</td>";
             echo "</tr>";
            
           
            $iCount++;
                                
          }
          echo "</table>";
         
         echo "Number of events crunched:$iCount</br>";
         echo "Done@(" . date('h:i:s').")";
         odbc_close($connection);
        } catch (Exception $e) {
            print("ExtractFromParadoxInsertIntoSQL: ");
            var_dump($e->getMessage());
            $lf = new logfile();
            $lf->write(var_dump($e->getMessage()) . "\r\n");
        }
      }
          
      }

  2. #2
    Join Date
    Oct 2002
    Posts
    933

    Wrong forum

    This is an ASP forum. You ned to go to the PhP forum. If you are still using ODBC, you are several generation behind. Check out www.aspdb.com to see how wasy it is to generate a Web DB application.

    Frank

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •