martinjevans's blog


New rt for DBD::ODBC at DBD::ODBC - [Microsoft][SQL Server Native Client 10.0][SQL Server]The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect. The SQL Server native client driver has proved to be a bit buggy and this /may/ be another one - we'll have to wait and see. DBD::ODBC already has a number of workarounds for issues in the MS SQL Server ODBC Driver and Native Client Driver.

Ingres comes to DBD::ODBC

Yesterday I was contacted by someone at Ingres with a patch to make DBD::ODBC support the ingresCLI driver manager. I'm always happy to accept these patches and with a moderate rewrite (necessitated by the fact I'd hacked Makefile.PL around a lot recently for 64bit support without checking it in) I managed to rewrite the patch. The changes are checked in to subversion now and are reported to work for Ingres. Unicode support is not there yet but I believe they are working on it.

Detecting 64bit ODBC driver managers in DBD::ODBC install

I've been working on 1.22 doesn't compile on 64 bit systems with unixODBC on and off for a few days. Boy, this is tiresome (no reflection on the poster of this rt).

DBD::ODBC ping has regressed :-(

Today a long standing Easysoft customer upgraded from DBD::ODBC 1.13 to 1.21 and their scripts stopped working properly :-( It appears they use the ping method to detect whether the connection handle is connected to the database and since upgrading to 1.21 they are getting DBD::ODBC::db ping failed: Cannot allocate statement when disconnected from the database at ./ line 11 when calling the ping method after a disconnect.

New attribute to DBIx::Log4perl to filter error reporting

At Easysoft we have been using DBIx::Log4perl for some time to log DBI database access methods in a way that was useful to us. In fact, that is why I wrote DBIx::Log4perl in the first place.

Inserting code into drupal content

I spend all day writing code so it is not unnatural that I blog about it too. I know drupal has code tags but they still end up changing < and > and most code is full of those. There seems to be loads of solutions but many of them have problems - use of code, pre and xmp tags (not all browsers do the same thing with xmp), substituting &#60; etc for < (too annoying, I wan to just paste my code in). Ginally I found the GeSHI filter and although it is not perfect it works better (by far) than any of the other solutions I've found.

Why cannot I use a RowCacheSize greater than 128 with DBD::Oracle?

It appears that DBD::Oracle restricts the RowCacheSize to 128, why? I know how much memory I can afford to use for retrieving rows better than DBD::Oracle and as far as I can see this could be set a lot higher.

Outages on my virginmedia broadband connection

Another frustrating day with my broadband connection - thank you Virgin Media - not!

Released DBD::ODBC 1.21_1 to CPAN

Fixed bug referred to in rt 46597 reported by taioba and identified by Tim Bunce. In Calls to bind_param for a given statement handle if you specify a SQL type to bind as this should be "sticky" for that parameter. That means if you do: $sth->bind_param(1, $param, DBI::SQL_LONGVARCHAR) and follow it up with execute calls that also specify the parameter: $sth->execute("a param"); then the parameter should stick with the SQL_LONGVARCHAR type and not revert to the default parameter type. The DBI docs (in subversion now)

Rush on DBD::ODBC issues today

I frequent perl monks a bit and late yesterday an issue came in with DBD::ODBC and Microsoft Access. The perl monks node and rt 46597 detail it all quite well. It appears DBD::ODBC was not following the DBI specification (as it was originally written) to the letter with respect to sticky bound parameter types but since then Tim Bunce has modified the DBI pod slightly to allow DBDs to enable a bound parameter to be rebound with a different type. The change to DBD::ODBC was fairly small but by the time I'd added a test case, bumped the version to 1.21_1 and tested a dozen or so ODBC drivers this consumed a fair amount of time.

Syndicate content