Skip Menu |

This queue is for tickets about the DBD-ODBC CPAN distribution.

Report information
The Basics
Id: 112302
Status: open
Priority: 0/
Queue: DBD-ODBC

People
Owner: Nobody in particular
Requestors: jpierce [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in:
  • 1.52
  • 1.50
Fixed in: (no value)



Subject: DBI / DBD::ODBC crashes when Update-ing some LongVarBinary columns
Attached is a minimized test case showing this behavior.
Subject: Blank.zip
Download Blank.zip
application/x-zip-compressed 53.6k

Message body not shown because it is not plain text.

Subject: test.pl
use DBI ':sql_types'; use File::Copy; copy('Blank.mdb', 'Test.mdb'); my $MDB = DBI->connect("dbi:ODBC:DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=./Test.mdb"); my $val1 ="\4\0\0\0\4 \1\0\5\0\0\0\0\0\0\0\0\0\0A\0\0\300\@\0\0\300\@\0\0\0A\0\0\0A"; my $val2 ="\4\0\0\0\4 \1\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\300\@\0\0\0A\0\0\0A"; my $val3 ="\3\0\0\0\4 \1\0\4\0\0\0\0\0\0\0\0\0\0A\0\0\300\@\0\0\300\@\0\0\0A", my $key0 ="DuctLoadFactorInsulationRValue0"; my $key1 ="DuctLoadFactorInsulationRValue1"; $sth = $MDB->prepare("UPDATE System SET $key0=?, $key1=?"); $sth->bind_param(1, undef, SQL_LONGVARBINARY); $sth->bind_param(2, undef, SQL_LONGVARBINARY); $sth->execute($val1, $val1); $sth->execute($val2, $val2); $sth->execute($val3, $val3); $sth->execute($val1, $val3); $sth->execute($val3, $val1); $MDB->trace(4); #Dies with any of these $sth->execute($val1, $val2); $sth->execute($val2, $val1); $sth->execute($val2, $val3); $sth->execute($val3, $val2);
On Mon Feb 22 19:09:34 2016, JPIERCE wrote: Show quoted text
> Attached is a minimized test case showing this behavior.
Could you please tell me the version of your MS Access driver and is it 32 or 64 bit? Are you using a 32 bit or 64 bit Perl. Go into driver manager and click on drivers tab. Thanks Martin -- Martin J. Evans Wetherby, UK
Show quoted text
> Could you please tell me the version of your MS Access driver and is > it 32 or 64 bit?
I believe I am using the latest version available, 14.00.7010.1000, 64-bit. Show quoted text
> Are you using a 32 bit or 64 bit Perl.
I am using 64 bit perl. The issue has occurred on DWIM perl 5.16.2 with DBD::ODBC 1.50 and Strawberry perl 5.22.1 with DBD::ODBC 1.52 I also used tested 32-bit Strawberry perl with DBD::ODBC 1.52 and the same behavior occurs using the 64-bit as well as the 32-bit Access driver (installed for this test, v10.00.10586.100).
On Tue Feb 23 09:03:41 2016, JPIERCE wrote: Show quoted text
> > Could you please tell me the version of your MS Access driver and is > > it 32 or 64 bit?
> I believe I am using the latest version available, 14.00.7010.1000, > 64-bit.
I saw bug 111666, and tried upgrading to the Office13 distributable (v15.00.4543.1000), however I have to revert to v14 because I am using an older Jet database i.e; [Microsoft][ODBC Microsoft Access Driver] Cannot open a database created with a previous version of your application. (SQL-HY000)
Show quoted text
> I saw bug 111666, and tried upgrading to the Office13 distributable > (v15.00.4543.1000), however I have to revert to v14 because I am using > an older Jet database i.e; > > [Microsoft][ODBC Microsoft Access Driver] Cannot open a database > created with a previous version of your application. (SQL-HY000)
FWIW, the database version is not within my control, I am interacting with a 3rd party app via the database.
On Tue Feb 23 13:12:21 2016, JPIERCE wrote: Show quoted text
> On Tue Feb 23 09:03:41 2016, JPIERCE wrote:
> > > Could you please tell me the version of your MS Access driver and > > > is > > > it 32 or 64 bit?
> > I believe I am using the latest version available, 14.00.7010.1000, > > 64-bit.
> > I saw bug 111666, and tried upgrading to the Office13 distributable > (v15.00.4543.1000), however I have to revert to v14 because I am using > an older Jet database i.e; > > [Microsoft][ODBC Microsoft Access Driver] Cannot open a database > created with a previous version of your application. (SQL-HY000)
FYI, version 13 of the MS Access driver worked fine with your example. I'll look at this more tomorrow. Martin -- Martin J. Evans Wetherby, UK
Show quoted text
> > I saw bug 111666, and tried upgrading to the Office13 distributable > > (v15.00.4543.1000), however I have to revert to v14 because I am using > > an older Jet database i.e; > > > > [Microsoft][ODBC Microsoft Access Driver] Cannot open a database > > created with a previous version of your application. (SQL-HY000)
> > FYI, version 13 of the MS Access driver worked fine with your example.
Interesting. Too bad there doesn't appear to be any copies of that online...
Show quoted text
> > [Microsoft][ODBC Microsoft Access Driver] Cannot open a database > > created with a previous version of your application. (SQL-HY000)
> > FYI, version 13 of the MS Access driver worked fine with your example. > > I'll look at this more tomorrow.
Any luck?
Show quoted text
> > I saw bug 111666, and tried upgrading to the Office13 distributable > > (v15.00.4543.1000), however I have to revert to v14 because I am using > > an older Jet database i.e; > > > > [Microsoft][ODBC Microsoft Access Driver] Cannot open a database > > created with a previous version of your application. (SQL-HY000)
> > FYI, version 13 of the MS Access driver worked fine with your example. > > I'll look at this more tomorrow. > > Martin
Do you still have the installer for that driver? (I am unable to find such online) It might be helpful as a workaround until this bug is addressed. Thanks!
On Wed Apr 20 10:10:53 2016, JPIERCE wrote: Show quoted text
> > > I saw bug 111666, and tried upgrading to the Office13 distributable > > > (v15.00.4543.1000), however I have to revert to v14 because I am > > > using > > > an older Jet database i.e; > > > > > > [Microsoft][ODBC Microsoft Access Driver] Cannot open a database > > > created with a previous version of your application. (SQL-HY000)
> > > > FYI, version 13 of the MS Access driver worked fine with your > > example. > > > > I'll look at this more tomorrow. > > > > Martin
> > Do you still have the installer for that driver? (I am unable to find > such online) It might be helpful as a workaround until this bug is > addressed. > > Thanks!
Just search for Microsoft Access redistributable engine. There is a 2010 and a 2013 one. The 2013 one seems to be at https://www.microsoft.com/en-us/download/details.aspx?id=39358 Martin -- Martin J. Evans Wetherby, UK
Show quoted text
> Just search for Microsoft Access redistributable engine. There is a > 2010 and a 2013 one. The 2013 one seems to be at > https://www.microsoft.com/en-us/download/details.aspx?id=39358 > > Martin
Oh, when you said "version 13" I figured you meant the actual driver version, not Office '13 version. Hence the inquiry since, as I previously mentioned, I am using the v14 of the Office 2010 driver. The Office 2013 driver is not compatible with the Jet database I need to interact with.