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"); } } }




Reply With Quote