Details

    • Type: Bug
    • Status: Open (View Workflow)
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 3.1.1
    • Fix Version/s: None
    • Component/s: None
    • Labels:
    • Environment:
      ODBC 3.1.1 with MariaDB 10.3.15 under Windows Server 2008

      Description

      I use a function to update a BLOB field working for more then teen years with MyODBC 3.51.12, now i have try with MariaODBC 3.1.1, but a error has show.

      I have using Windows Server 2008 32 bits (IIS 7.0) with Classic ASP and MariaODBC Connector 3.1.1.

      The MariaDB version is 10.3.15 64 bits running in other server, into Windows 10 64 bits.

      In have installed the MyODBC versions 3.51.12, 5.1.13, 5.2.7 and 5.3.6.
      With version 3.51.12 working fine, with 5.1.13, 5.2.7 or 5.3.6 all returning this error:

      =====================================
      Microsoft OLE DB Provider for ODBC Drivers erro '80004005'
      [MySQL][ODBC 5.3(w) Driver][mysqld-5.6.34-log]Build WHERE -> insert_fields() failed.
      =====================================

      With MariaODBC 3.1.1, this is a error:

      ==========================
      Microsoft OLE DB Provider for ODBC Drivers erro '80004005'
      [ma-3.1.1][10.3.15-MariaDB]Can't build index for update/delete
      ==========================

      How to repeat:

      • Install a MariaODBC 3.1.1 in Windows.
      • Create a test table:

      CREATE TABLE `testtable` (
      `id` INT(11) NOT NULL AUTO_INCREMENT,
      `file` MEDIUMBLOB NULL,
      PRIMARY KEY (`id`)
      )
      COLLATE='latin1_swedish_ci'
      ENGINE=MyISAM;

      • Create a ASP file (test.asp) with:

      ========================
      BEGIN TEST.ASP

      <%
      wstring="DRIVER=

      {MariaDB ODBC 3.1 Driver}

      ;SERVER=127.0.0.1;PORT=3306;DATABASE=test;UID=testuser;PWD=testpass;OPTION=16427"
      Set connec=server.createobject("adodb.connection")
      connec.Open wstring

      sql="delete from testtable where id=1"
      set xx=connec.execute(sql)
      set xx=nothing

      sql="insert into testtable (id,file) values (1,'')"
      set xx=connec.execute(sql)
      set xx=nothing

      Const adOpenStatic = 3
      Const adLockOptimistic = 3

      Set Rs = Server.CreateObject("ADODB.Recordset")
      Set Rs.ActiveConnection = connec

      Rs.CursorType = adOpenStatic
      Rs.LockType = adLockOptimistic

      xsource="select file from testtable where id=1"
      Rs.Source = xsource
      Rs.Open

      Const adTypeBinary = 1

      Dim BinaryStream
      Set BinaryStream = CreateObject("ADODB.Stream")

      BinaryStream.Type = adTypeBinary

      BinaryStream.Open

      BinaryStream.LoadFromFile "image.jpg"

      ReadBinaryFile = BinaryStream.Read

      RS("file").AppendChunk ReadBinaryFile
      RS.Update

      set ReadBinaryFile=nothing

      BinaryStream.close
      set BinaryStream=nothing

      connec.close
      set connec=nothing
      %>

      END TEST.ASP
      ==============================

      Save any small image file in same folder of test.asp with name image.jpg and execute the test.asp in browser for run the application.

      The error occurs in line:
      RS.Update

        Attachments

        1. image.jpg
          image.jpg
          37 kB
        2. SQL-create-table.txt
          0.2 kB
        3. test.asp
          1 kB

          Activity

            People

            • Assignee:
              Lawrin Lawrin Novitsky
              Reporter:
              lascjr Luis A S C Junior
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated: