ODBC Merge Failure

For HanDBase related topics that are not specific to one platform.

ODBC Merge Failure

Postby jdixon » Sun Aug 16, 2009 10:38 am

I just started receiving an error message when syncing my dataset.

- SyncExchange failed to execute properly on this database
- ODBC/HanDBase Merge Failed..
- ODBC Error was [MySQL][ODBC 5.1 Driver][mysqld-5.1.30-community]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Rudin', `CompanyName` = 'Rudin Management Company', `TotTime` = null, `NewHostna' at line 1

I enabled the hddbg40 loggger but it produced no output log to try to pin the error to a specific record.

Currently running 4.1 build R3. No idea what version sync exchange.

Pls advise

JD
jdixon
 
Posts: 7
Joined: Tue Jun 30, 2009 1:31 pm

Re: ODBC Merge Failure

Postby DavidDevaneyJr » Mon Aug 17, 2009 1:12 am

jdixon wrote:I just started receiving an error message when syncing my dataset.

- SyncExchange failed to execute properly on this database
- ODBC/HanDBase Merge Failed..
- ODBC Error was [MySQL][ODBC 5.1 Driver][mysqld-5.1.30-community]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Rudin', `CompanyName` = 'Rudin Management Company', `TotTime` = null, `NewHostna' at line 1

I enabled the hddbg40 loggger but it produced no output log to try to pin the error to a specific record.

Currently running 4.1 build R3. No idea what version sync exchange.

Pls advise

JD


The first thing to check in this situation, due to MySQL, is that you have gone into the Options and chosen the option for "Use single quotes to denote identifiers". MySQL generally requires that.

If the above does not fix this then you'll need to enable SQL Tracing to get a more detailed log of the attempted conversion between HanDBase and MySQL. To do that go to the Control Panel and open the Administrative Tools option. There you should find "Data Sources (ODBC)", or something similar. Open that and click the Tracing tab. Change the "Log File Path" to somewhere you'll easily be able to find the log file generated. Then click the Start Tracing Now button and attempt a sync. Leave the Data Sources utiltiy open. After the Sync you'll want to click the Stop Tracing Now button. Then open that Log file that was generated in a Text editor like Notepad. That will give more details about the sync and should help to pinpoint the problem record. You can do a Find/Search for the word SELECT to see more easily find the actual queries.

Feel free to post the log here or email it to support [at] ddhsoftware [dot] com.
Regards,
David Devaney, Jr.
DavidDevaneyJr
 
Posts: 134
Joined: Tue May 19, 2009 11:01 pm
Location: Lake Worth, FL

Re: ODBC Merge Failure

Postby jdixon » Fri Aug 28, 2009 1:16 pm

Found the specific record and corrected. Now receiving:

----------------------------------------------------------------------------------------------------------------------------------------------------------
HanDBase error syncing 'CID Header': 08/27/09 22:55:31
- SyncExchange failed to execute properly on this database
- ODBC/HanDBase Merge Failed..
- ODBC Error was [MySQL][ODBC 5.1 Driver][mysqld-5.1.30-community]Build WHERE -> insert_fields() failed.
----------------------------------------------------------------------------------------------------------------------------------------------------------

Here is the same line in SQL.LOG file
----------------------------------------------------------------------------------------------------------------------------------------------------------
hde115.tmp 81c-ee4 EXIT SQLSetPos with return code -1 (SQL_ERROR)
HSTMT 009B2228
SQLSETPOSIROW SQLSETPOSIROW UWORD 2 <SQL_UPDATE>
BOOL 0 <SQL_LOCK_NO_CHANGE>

DIAG [HY000] [MySQL][ODBC 5.1 Driver][mysqld-5.1.30-community]Build WHERE -> insert_fields() failed. (0)
----------------------------------------------------------------------------------------------------------------------------------------------------------

This message occurs about 10x in the SQL.LOG file.

I understand this maybe a bit difficult if not impossible to reproduce but if you can help me pin down/translate the log, i I can figure out what record or action is causing the error.

The remaining database files synchronize correctly without error.

Pls advise

John
jdixon
 
Posts: 7
Joined: Tue Jun 30, 2009 1:31 pm

Re: ODBC Merge Failure

Postby DavidDevaneyJr » Fri Aug 28, 2009 2:01 pm

jdixon wrote:Found the specific record and corrected. Now receiving:

----------------------------------------------------------------------------------------------------------------------------------------------------------
HanDBase error syncing 'CID Header': 08/27/09 22:55:31
- SyncExchange failed to execute properly on this database
- ODBC/HanDBase Merge Failed..
- ODBC Error was [MySQL][ODBC 5.1 Driver][mysqld-5.1.30-community]Build WHERE -> insert_fields() failed.
----------------------------------------------------------------------------------------------------------------------------------------------------------

Here is the same line in SQL.LOG file
----------------------------------------------------------------------------------------------------------------------------------------------------------
hde115.tmp 81c-ee4 EXIT SQLSetPos with return code -1 (SQL_ERROR)
HSTMT 009B2228
SQLSETPOSIROW SQLSETPOSIROW UWORD 2 <SQL_UPDATE>
BOOL 0 <SQL_LOCK_NO_CHANGE>

DIAG [HY000] [MySQL][ODBC 5.1 Driver][mysqld-5.1.30-community]Build WHERE -> insert_fields() failed. (0)
----------------------------------------------------------------------------------------------------------------------------------------------------------

This message occurs about 10x in the SQL.LOG file.

I understand this maybe a bit difficult if not impossible to reproduce but if you can help me pin down/translate the log, i I can figure out what record or action is causing the error.

The remaining database files synchronize correctly without error.

Pls advise

John


I have a feeling that this may have to do with permissions and the way that HanDBase processes the records when syncing. How do you have your permissions set for this table, or the particular user you specify to sync with this table? Is it possible you aren't allowing Insertion of records, because in general you don't want the users to add new records, only maybe edit them or even just view them?
Regards,
David Devaney, Jr.
DavidDevaneyJr
 
Posts: 134
Joined: Tue May 19, 2009 11:01 pm
Location: Lake Worth, FL

Re: ODBC Merge Failure

Postby jdixon » Fri Aug 28, 2009 2:12 pm

This error just started occurring. There hasn't been any change to user access permissions.

John
jdixon
 
Posts: 7
Joined: Tue Jun 30, 2009 1:31 pm

Re: ODBC Merge Failure

Postby DavidDevaneyJr » Mon Aug 31, 2009 3:44 am

jdixon wrote:This error just started occurring. There hasn't been any change to user access permissions.

John


My only thought at this point is that it has something to do with changes we made to where the settings files are store, to try and be more Vista and Standard User compatible. We discovered last week that where we stored the Settings files in that build was really not the right place so I wonder if that might be affecting the ability to sync. After you installed that version did you have to re-create your Sync Exchange Settings or did you possibly copy them over from another location to the current one?

We are up to version 4.1 Build R4 on the Palm OS Platform. If I recall correctly that build was due to some minor error in the installer, but it's possible it could be affecting your syncing. I'd at least suggest getting the latest build from our website and see if that makes any difference. We will be releasing a new build sometime this coming week that properly corrects issues for Vista and Standard Users though.

Please let me know if you re-did your Sync Exchange settings after installing that version or if you copied the files from another folder. Also, let me know which version of Windows you have an if you are an Admin user as well. Additionally, let me know if the MySQL Server is on your computer, is on your network or is remote, eg out on the web. Also let me know what OS the MySQL Server is running on, be it Windows or Mac or Linux. Your logs indicate the version of the MySQL ODBC Driver but please also let me know what actual version of MySQL is running on the server. I know there was an issue at one point with using the latest version of the MyODBC Driver with a newer, but not the newest, version of MySQL.
Regards,
David Devaney, Jr.
DavidDevaneyJr
 
Posts: 134
Joined: Tue May 19, 2009 11:01 pm
Location: Lake Worth, FL


Return to HanDBase General Discussion

Who is online

Users browsing this forum: Bing [Bot] and 1 guest