-
Apr 18th, 2018, 10:21 PM
#1
Thread Starter
Registered User
VB write/update to MySQL error challenge
2 pc’s running different versions of VB6 software, both connecting to same MySQL Db on server.
PC1: Runs a direct connection via ODBC. Windows XP. Everything works fine, read/write/update.
PC2: Reads find, error on Add/Update. Connections via ADO to db. The details of the ADO connection exactly match that of the ODBC connection. Using the ODBC connection with MySQL interface on the PC2 and running same update statement works fine, so not a permission issue. Have googled the error number, no matches.
QUESTIONS?
An error message received implies that it is writing to the Binary Log that is the problem and if we turn off the replication on the server Db it should fix it. How do I do this?
Any other reasons you can think of that would cause this?
Actual ERROR MESSAGE:
Procedure: recordODBCUpdate
Error Number: -2147467259
Error Source: Microsoft OLE DB Provider for ODBC Drivers
Error Description: [MySQL][ODBC 3.51 Driver][mysql-5.1.42-community-log]Binary logging not possible.
Message: Transaction level 'READ-COMMITTED' in InnoDB is not safe for binlog mode 'STATEMENT'
Error in ExecuteSQLstatement procedure
-
Apr 19th, 2018, 08:04 AM
#2
Re: VB write/update to MySQL error challenge
ODBC is not particularly "direct" in VB6. You must go through an adapter layer such as Jet itself (via DAO or ADO), RDO (hardly ever used by anyone and even more deprecated than DAO), or ADO and the "MSDASQL" shim OLEDB Provider (Microsoft OLE DB Provider for ODBC Drivers).
I suspect some people think the latter is "direct" because ADO will chuckle and just slap MSDASQL into the totem pole of adapters by default when no OLEDB Provider has been specified. Far from it!
I suppose you might be coding directly to the ODBC API but that seems highly unlikely as well as very painful. More likely you are using the shim in both programs, just explicitly in one and by defaulting in the other.
If it isn't some sort of permissions issue then it must be something else. Maybe a connection string problem, logic flaws, or... ???
You haven't told us enough to help much. It would be interesting to see the two sets of code, in particular what you mean by "direct" vs. ADO.
There are good OLEDB Providers for MySQL out there (and far better than using ODBC Drivers) but they aren't free.
-
Apr 20th, 2018, 07:36 AM
#3
Re: VB write/update to MySQL error challenge
These bug reports should help you out (it's not really a bug though). The gist is your binlog_format must be either row or possibly mixed in your config file.
https://bugs.mysql.com/bug.php?id=40360
https://bugs.mysql.com/bug.php?id=47842
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|