Bug #15944 Using Visual Basic 6 getting "Error 3027...Object is read only"
Submitted: 22 Dec 2005 23:03 Modified: 28 May 2013 12:36
Reporter: Peter Drake Email Updates:
Status: Closed Impact on me:
None 
Category:Connector / ODBC Severity:S3 (Non-critical)
Version:3.51 OS:Windows (Win 2000 pro)
Assigned to: Bogdan Degtyariov CPU Architecture:Any

[22 Dec 2005 23:03] Peter Drake
Description:
I cannot use the addnew, update or edit database methods in my VB6 program without getting Error 3027, even though the database is set as read-only=false.

So I turn to 26.1.19.2 of the manual and paste the example into my program and run it.  Guess what it fails exactly the same!  However the VB error is misleading,I think, as examination of the database shows it is able to drop the table and create a new one.  The point at which it fails is "rs.AddNew".  I am also able to use an SQL update querydef to change the table, so I'm convinced it's not a read -only error as reported.

My project references are (in priority order):
  Visual Basic for applications
  Visual Basic objects and run-time procedures
  Visual Basic objects and procedures
  Microsoft DAO 3.6 Object Library

How to repeat:
1.Create a VB6 project with the above project references.
2. Add a button named myodbc_dao to the form
3. Paste the example from 26.1.19.2 to the Click event of the button.
4. Run the program

Suggested fix:
Wish I knew!
[23 Dec 2005 9:24] Valeriy Kravchuk
Thank you for a problem report. I believe, you were referring to this page, http://dev.mysql.com/doc/refman/5.0/en/dao--rs-addnew.html? There is no 26.x.x.x in the current manual.

Please, inform about the exact versions of MyODBC and MySQL server used.
[24 Dec 2005 11:26] Peter Drake
For 26.1.19.2 please read 19.1.19.2
[26 Dec 2005 14:36] MySQL Verification Team
Thank you for the bug report. I tested using Access instead of VB
and was able for to run without problem the sample:

26.1.19.1. ADO: rs.addNew, rs.delete, and rs.update
http://dev.mysql.com/doc/refman/5.1/en/ado--rs-addnew.html

However the one reported below presented the problem reported:

26.1.19.2 DAO: rs.addNew, rs.update, and Scrolling 
http://dev.mysql.com/doc/refman/5.1/en/dao--rs-addnew.html
[17 Jan 2006 22:37] Joris Van den Dries
I am getting the same error using msAccess ('97 and 2003) on WinXP.
Table is dropped/created just fine but the recordset is always read-only.
I am using MySql 5.0.18 and ODBC connector 3.51.12.
[26 Apr 2007 13:26] silvia garcia
hi, I have a same problem (with DAO).
excuse me but i don't speak english, i speak spanish.
help me please!!!!!!!
[26 Apr 2007 16:36] Peter Drake
The only way that I have found to get round the problem in VB6 is to define a string variable and put an SQL command in it that does the required job.  Then you can use the Database object's Execute method, quoting the string as its parameter, to make the change to your table.
[5 Sep 2007 14:44] MySQL Verification Team
Could you please try with latest released version 3.51.19 and comment
the results?. Thanks in advance.
[5 Oct 2007 23:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
[26 Nov 2011 10:53] ZEBU GRAND
The bug is not still fixed.
I have tried with 3.51 ODBC driver and 5.1 driver
Severity of this bug is critical because a VB6 app. using DAO can't use MySQL
GZ
[15 Feb 2012 10:49] Bogdan Degtyariov
Can you please provide a simple VB test case?
My DAO vbs script worked perfectly and was able to add new records to the recordset without getting the read-only error.
[16 Mar 2012 1:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
[28 May 2013 12:36] Bogdan Degtyariov
I'm closing this bug because I can not continue without feedback from the reporter. If you have new info, please reopen the report.