Ron:
> 2007-07-27 10:05:23:066|BEGIN record loading (LoadTableNames)...
> 2007-07-27 10:05:23:300|Missing database table names...
> 2007-07-27 10:05:23:315|END record loading.
Mmmmh... ok, that's weird. The new beta version does not need to have the table names configured manually, as now it ask the server-side script which are the database table names. That message means the OSCPMWin application could not get the data from the server-side script.
> 1. In the new version, the database tables tab is missing
> from the configuration file.
As explained above, this is Ok.
> 2. In .683, I was logging using the user/password I use with
> phpMyAdmin, but in .816 this gave me a password error, but
> there is an OSCPMCHECKER record in whos_online.
The password should be the same password used by the osCommerce store. Security is the only reason for that. The server-side script never receive the username and password from the OSCPMWin application (they are never sent); it takes that information from the osCommerce configuration files directly. The OSCPMWin application requires the password only to create a cryptographic salted-hash and then send that to the server, which can confirm is the hash can be made with the osCommerce password or not.
The OSCPMCHECKER record in whos_online is a login attempt record. If you try to login too many times and fails (eight times by default) in a certain period of time (less five minutes between attemps), the server-side script will refuse additional connections from your IP address for certain amount of time (one hour by default). So, it is a security feature to stop dictionary (password-guessing) attacks against the server-side script. That information is managed by the server-side script.
> 3. In .683, both passwords behave the same. My best guess is
> that the missing tab on the configuration and the SQL error are
> related.
Please use the password used by your osCommerce store.
Also, you may try the server-side logging. Just edit the server-side script and change the following variables:
opm_enable_logfile = false;
opm_enable_extralog = false;
opm_enable_recordsetlog = false;
Change them all to true. Then try to connect with the OSCPMWin application. A file named opm_debug.txt will be created in the osCommerce directory in your server. As soon as you get the file, disable the server logging, as it can grow very large quickly and reduce the performance of the server-side script.
Please note that for the log file to be created, the osCommerce directory should have writting permissions for the web server. If you don't want to change the permissions of the directory, then upload an empty file with the opm_debug.txt name and then change the permissions of that file only, so that it can be written by the web server.
For this test, please modify the server-side script in the following block (around line 680), find:
Code:
if ($opm_operation == "tables") {
opm_FNDebug_Log ("$opm_ok_string Tables listing started.");
echo "$opm_ok_string TABLES START\n";
// Table names...
echo "TABLE_CATEGORIES=" . TABLE_CATEGORIES . "\n";
echo "TABLE_CATEGORIES_DESCRIPTION=" . TABLE_CATEGORIES_DESCRIPTION . "\n";
echo "TABLE_CONFIGURATION=" . TABLE_CONFIGURATION . "\n";
echo "TABLE_CURRENCIES=" . TABLE_CURRENCIES . "\n";
echo "TABLE_LANGUAGES=" . TABLE_LANGUAGES . "\n";
echo "TABLE_MANUFACTURERS=" . TABLE_MANUFACTURERS . "\n";
echo "TABLE_MANUFACTURERS_INFO=" . TABLE_MANUFACTURERS_INFO . "\n";
echo "TABLE_PRODUCTS=" . TABLE_PRODUCTS . "\n";
echo "TABLE_PRODUCTS_DESCRIPTION=" . TABLE_PRODUCTS_DESCRIPTION . "\n";
echo "TABLE_PRODUCTS_TO_CATEGORIES=" . TABLE_PRODUCTS_TO_CATEGORIES . "\n";
echo "TABLE_SPECIALS=" . TABLE_SPECIALS . "\n";
echo "TABLE_TAX_CLASS=" . TABLE_TAX_CLASS . "\n";
echo "TABLE_TAX_RATES=" . TABLE_TAX_RATES . "\n";
opm_FNDebug_Log ("$opm_ok_string Tables listing finished.");
echo "$opm_ok_string TABLES END\n";
}
...and replace it with this:
Code:
if ($opm_operation == "tables") {
opm_FNDebug_Log ("$opm_ok_string Tables listing started.");
echo "$opm_ok_string TABLES START\n";
// Table names...
$opm_tables_list = "TABLE_CATEGORIES=" . TABLE_CATEGORIES . "\n";
$opm_tables_list .= "TABLE_CATEGORIES_DESCRIPTION=" . TABLE_CATEGORIES_DESCRIPTION . "\n";
$opm_tables_list .= "TABLE_CONFIGURATION=" . TABLE_CONFIGURATION . "\n";
$opm_tables_list .= "TABLE_CURRENCIES=" . TABLE_CURRENCIES . "\n";
$opm_tables_list .= "TABLE_LANGUAGES=" . TABLE_LANGUAGES . "\n";
$opm_tables_list .= "TABLE_MANUFACTURERS=" . TABLE_MANUFACTURERS . "\n";
$opm_tables_list .= "TABLE_MANUFACTURERS_INFO=" . TABLE_MANUFACTURERS_INFO . "\n";
$opm_tables_list .= "TABLE_PRODUCTS=" . TABLE_PRODUCTS . "\n";
$opm_tables_list .= "TABLE_PRODUCTS_DESCRIPTION=" . TABLE_PRODUCTS_DESCRIPTION . "\n";
$opm_tables_list .= "TABLE_PRODUCTS_TO_CATEGORIES=" . TABLE_PRODUCTS_TO_CATEGORIES . "\n";
$opm_tables_list .= "TABLE_SPECIALS=" . TABLE_SPECIALS . "\n";
$opm_tables_list .= "TABLE_TAX_CLASS=" . TABLE_TAX_CLASS . "\n";
$opm_tables_list .= "TABLE_TAX_RATES=" . TABLE_TAX_RATES . "\n";
echo $opm_tables_list;
opm_FNDebug_Log ("$opm_tables_list");
opm_FNDebug_Log ("$opm_ok_string Tables listing finished.");
echo "$opm_ok_string TABLES END\n";
}
This will allow the logging of the database table names as found by the server-side script.
Please let me know what you find.
Regards,
Mario A. Valdez-Ramirez