Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Duplicate
-
3.2.7
-
Windows Server 2022 + MariaDB Server 11.4.7
Description
ODBC connector 3.2.7 prevents the ADO connection to be reused (may impact older versions of branch 3.2.x also).
After properly executing a Prepared Statement, the ADODB.Connection is unavailable for further use : any attempt to use the connection for executing any simple query will throw this error :
0x80004005 A trappable error (E06D7363) occurred in an external object. The script cannot continue running.
It seems not being properly "freed up".
With ODBC connector 3.1.22, this Prepared Statement was properly executed, and the ADODB.Connection was still available for further use.
- Could this be caused by the multiple changes on Prepared Statements introduced in versions 3.2.4 ... 3.2.7 ? That would be a serious regression from the 3.1.22 line.
- Is this a new bug, or is it the same that this one (solved in 3.2.8) notably https://jira.mariadb.org/browse/ODBC-481 ?
After installing the fresh 3.2.8 release, everything is back to normal : the ADODB.Connection is available for further use.
Test Code :
<%
|
'VBSCRIPT / ASP
|
|
|
'Create connection with MariaDb ODBC connector v. 3.2.7 |
Dim adoConn : Set adoConn = CreateObject("ADODB.Connection") |
adoConn.Open "Driver={MariaDB ODBC 3.2 Driver}; server=192.168.1.1; database=test; user=test; password=test" |
|
|
'Create Parameterized query
|
Dim oCmd : Set oCmd = CreateObject("ADODB.Command") |
With oCmd
|
.ActiveConnection = adoConn
|
.Prepared = True
|
.CommandType = adCmdText
|
.CommandText = " UPDATE theTable SET theField = ? " |
.CommandTimeout = 900 |
.Parameters.Append .CreateParameter("@theField", adVarWChar, adParamInput, 256, "TheNewValue") |
End With
|
|
|
'Execute Query :
|
' => Query is executed.
|
' => No error is raised at this moment. |
Dim rs : Set rs = oCmd.Execute()
|
|
|
'Release Cmd
|
If Not (rs Is Nothing) Then
|
If (rs.State = 1) Then rs.Close ' adStateOpen = 1 |
Set rs = Nothing
|
rs = Empty
|
End If
|
|
|
'Now every attempt to use any simple query with adoConn.Execute(anotherQuery) will throw this error : |
* Category : Active Server Pages
|
* Asp Code : ASP 0115 |
* Err.Number : 0x80004005 |
* Err.Description : A trappable error (E06D7363) occurred in an external object. The script cannot continue running. |
* Line : 0 (This is Always 0, regardless of the location in the source code) |
%>
|
Attachments
Issue Links
- relates to
-
ODBC-481 Process crashes when setting lc_messages (via ADODB)
-
- Closed
-