| Bug #12515 | MyOdbc and Recordset | ||
|---|---|---|---|
| Submitted: | 11 Aug 2005 8:58 | Modified: | 7 Sep 2007 8:26 | 
| Reporter: | Maroun Merheb | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | Connector / ODBC | Severity: | S1 (Critical) | 
| Version: | 3.51 | OS: | Windows (Windows XP) | 
| Assigned to: | CPU Architecture: | Any | |
   [11 Aug 2005 9:15]
   Vasily Kishkin        
  Could you please say me what version is 3.4.0.3 ? Did you want to say 4.0.3 ? I need to know exact version of mysql.
   [12 Aug 2005 7:22]
   Maroun Merheb        
  I mean the newest version of MySql Mysql 5.0 (Beta or alpha version )
   [17 Aug 2005 13:21]
   Maroun Merheb        
  The Table must contain a decimal or numeric Field , so the error appears
   [22 Aug 2005 9:05]
   Vasily Kishkin        
  Sorry. I was not able to reproduve it. It works fine with tables with decimal and numeric fields. Could you please write here error messages ?
   [22 Aug 2005 14:01]
   Maroun Merheb        
  Mr Vasili 
I use VB6 and MyODBC 3.51.11-2 On Mysql 5.0.11 wich I got it from
mysql-essential5.0.11-beta-win32.msi
This is the code to produce the error
Dim Conn as New ADODB.Connection
Dim RS as New ADODB.Recordset
Private sub Testt
On Error GoTo ERR
	Conn.CursorLocation = adUseClient
	Conn.Open "DRIVER={MySQL ODBC 3.51 Driver};Server=localhost;_
			Database=MySql;UID=root;pwd="
	Conn.Execute "Create Database DB2"
	Conn.Execute "CREATE TABLE DB2.TT1 (T1 DECIMAL NOT NULL,_
			T2 VARCHAR(45) NOT NULL,PRIMARY KEY (T1))ENGINE=InnoDB"
	RS.Open "Select * From DB2.TT1",Conn,AdOpenDynamic,adLockPessimistic
	Debug.Print RS.RecordCount
ERR:
If ERR = 0 then
Else
	MsgBox ERR.Description,vbcritical
	Resume Next
End Sub
 
   [26 Aug 2005 18:32]
   Jorge del Conde        
  I was able to reproduce this bug using the following test case:
Dim Conn as New ADODB.Connection
Dim RS as New ADODB.Recordset
Private sub Testt
On Error GoTo ERR
	Conn.CursorLocation = adUseClient
	Conn.Open "DRIVER={MySQL ODBC 3.51 Driver};Server=localhost;_
			Database=MySql;UID=root;pwd="
	Conn.Execute "Create Database DB2"
	Conn.Execute "CREATE TABLE DB2.TT1 (T1 DECIMAL NOT NULL,_
			T2 VARCHAR(45) NOT NULL,PRIMARY KEY (T1))ENGINE=InnoDB"
	RS.Open "Select * From DB2.TT1",Conn,AdOpenDynamic,adLockPessimistic
	Debug.Print RS.RecordCount
ERR:
If ERR = 0 then
Else
	MsgBox ERR.Description,vbcritical
	Resume Next
End Sub
 
   [22 Aug 2007 22:46]
   MySQL Verification Team        
  Could you please test with latest released version 3.51.19.
   [7 Sep 2007 8:26]
   Tonci Grgin        
  Thank you for your bug report. This issue has been committed to our source repository of that product and will be incorporated into the next release.
If necessary, you can access the source repository and build the latest available version, including the bug fix. More information about accessing the source trees is available at
    http://dev.mysql.com/doc/en/installing-source.html
Explanation: Testing with 5.0.48PB and MyODBC3.51.20 pre-release shows no problems.
 
   [7 Sep 2007 8:28]
   Tonci Grgin        
  Test case
Attachment: 12515.vbs (application/octet-stream, text), 1.71 KiB.
   [7 Sep 2007 8:31]
   Tonci Grgin        
  It is my belief that this was fixed long ago but will leave 3.51.20 as version that works for sure as I tested on it.

Description: First Of All I worked with The MyOdbc 3.51 and MySql 3.4.0.3 ,it had no major problems,then due gto the limitation of MySql 4 to subqueries i Upgrade it to MySql 3.4.1 and I had a problem with the precision in decimal and floats,ect,.. After I Upgrade it to MySql 3.5.0.3 I can not open a recordset outside the mysql database,It gives the error multiple step errors What is the resolution of this problem Maroun How to repeat: Download MySql 3.4.0.3 and MyOdbc 3.51 (the latest) Create a database db1 and a table tt1 in it . Open a vb project that support ADO. and run the following code Dim Conn as new adodb.connection Dim Rs as new adodb.Recordset conn.open "Driver={MySql ODBC 3.51 Driver};Server=localhost;Database=db1;UId=root;pwd=" rs.open "Select * From tt1",Conn,adopenstatic,adlockPessimistic