Bug #36996 Data provider or other service returned an E_FAIL status
| Submitted: | 27 May 2008 6:45 | Modified: | 18 Nov 2009 14:32 |
|---|---|---|---|
| Reporter: | Alexey Palagin | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | Connector / ODBC | Severity: | S1 (Critical) |
| Version: | 5.1 | OS: | Windows (xp sp2 rus) |
| Assigned to: | CPU Architecture: | Any | |
| Tags: | ODBC, VB | ||
[6 Jun 2008 23:16]
Jess Balint
Verified just as described. Thanks for a good bug report.
[7 Jun 2008 0:17]
Jess Balint
patch + test
Attachment: bug36996.diff (application/octet-stream, text), 2.28 KiB.
[7 Jun 2008 0:18]
Jess Balint
The core issue here is that cp1251 is not supported in the client/driver due to bug#32831. Patch adds an error if it encounters an unsupported client character set.
[17 Nov 2009 20:35]
Lawrenty Novitsky
Approved and pushed as rev#858. Will released in 5.1.7 Bug is actually duplicate of the Bug#39831(or vice versa) Patches intersect. So from with patch was wchar part only used, Testcase doesn't make sense any more since 5.1.6 was already linked against libmysll with Bug#32831 fixed.
[18 Nov 2009 14:32]
Tony Bedford
An entry has been added to the 5.1.7 changelog: When opening ADO.Recordset from Microsoft Access 2003, a run-time error occurred: ErrNo: -2147467259 ErrMessage: Data provider or other service returned an E_FAIL status.
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.061 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.
Description: When opening ADO.Recordset from MS Access 2003 a run-time error occurs: ErrNo: -2147467259 ErrMessage: Data provider or other service returned an E_FAIL status. There is no deal with DATETIME fields. I should say even more - it concerns CHAR fields. How to repeat: First, create MySQL table: CREATE TABLE `odbctest` ( `Id` int(10) unsigned NOT NULL auto_increment, `MessageText` char(32) character set cp1251 collate cp1251_bin NOT NULL, `MessageDate` datetime NOT NULL, `MessageValue` double NOT NULL, PRIMARY KEY (`Id`) ) ENGINE=InnoDB DEFAULT CHARSET=cp1251; Second, MS Access code: Dim ConnectionString As String ConnectionString = "DRIVER={MySQL ODBC 5.1 Driver};SERVER=localhost;PORT=3306;DATABASE=dbtest;USER=dbuser;PASSWORD=dbpass;OPTION=3;" Dim MySQLConnection As New ADODB.Connection MySQLConnection.ConnectionString = ConnectionString MySQLConnection.CursorLocation = adUseClient MySQLConnection.Open If MySQLConnection.State = adStateOpen Then Debug.Print "Connection success" Dim MySQLRecordset As New ADODB.Recordset MySQLRecordset.CursorLocation = adUseClient MySQLRecordset.CursorType = adOpenStatic On Error Resume Next MySQLRecordset.Open "SELECT Id, MessageDate, MessageValue, MessageText FROM odbctest", MySQLConnection, adOpenForwardOnly, adLockReadOnly If Err <> 0 Then Debug.Print "ErrNo: " & Err.Number & " ErrMessage: " & Err.Description End If If MySQLRecordset.State = adStateOpen Then Dim RowCount As Long RowCount = MySQLRecordset.RecordCount Debug.Print "Recordset success"; RowCount While Not MySQLRecordset.EOF Debug.Print "Id:" & MySQLRecordset!Id & " Date:" & MySQLRecordset!MessageDate & " Value:" & MySQLRecordset!MessageValue & " Text:" & MySQLRecordset!MessageText MySQLRecordset.MoveNext Wend MySQLRecordset.Close Else Debug.Print "Recordset failed" End If MySQLConnection.Close Else Bedug.Print "Connection failed" End If But if change query to: SELECT Id, MessageDate, MessageValue FROM odbctest everything goes just fine.