Perl

The Perl programming language

Fun getting DBI/DBD::ODBC working on a 64bit Windows machine

Firstly, I should say I don't use Windows that much these days. The Windows machines where I test DBI and DBD::ODBC I set up ages ago with a Perl built with MS Developer Studio and I tend to keep them for that purpose. However, I bought a whole load of nice shiny new parts to build myself a new PC a month ago and installed Ubuntu and Windows as I thought I could get a more up to date Perl on Windows at home.

DBD::ODBC 1.25 release

I'm pleased to announce the 1.25 release of DBD::ODBC. A full list of changes since the last major release is listed below and at DBD::ODBC Changes. New features include support for MS SQL Server's XML type, a new odbc_lob_read method, overriding of types on bind_col. Many thanks to everyone who has reported issues and helped with the development and testing of DBD::ODBC and especially all my friends on #dbi, Perl Monks and my colleagues at Easysoft Limited..

Why doesn't length() on DBI/DBD::ODBC returned unicode data return the correct length in characters?

Today someone posted a problem using the SQL Server XML datatype with DBI/DBD::ODBC on the dbi-users mailing list. I sorted their problem pretty quickly but noticed his code using length() on scalars which were bound with bound_col was not reporting the correct length. The example and output are below:

Last DBD::ODBC 1.24 development release before official 1.25 - please test

In the last few days I've released what hopefully will be the last development release of DBD::ODBC (1.24_4). If you run Windows especially and Perl 5.13 even more, then please test.

New 1.24_2 development release of DBD::ODBC

I am happy to announce another development release of DBD::ODBC. Many thanks to everyone who has contributed to this release and especially to all my friends on the #dbi irc channel and perl monks. My intention is to add a lob writing method and full support for DBI's DiscardString and StrictlyTyped attributes in the next development release before releasing a final development release and finally a 1.25 full release. To support the new odbc_lob_read I've had to delay the binding of columns until the first fetch instead of as before when the result-set was described. This should not have any adverse effects but you are advised to test this release as without any feedback it will move to the next final release. The changes since the last full release are:

character|binary lob reading in DBD::ODBC

I currently maintain DBD:ODBC and needed to obtain a lob (large object) in chunks. It doesn't really matter why but in general the lob is very large and I can process it in chunks in my Perl code so it makes sense to read it in chunks instead of read it all in one go (thus requiring loads of memory). DBD::ODBC does not have this functionality currently.

Why is taint mode so slow?

In the last few days on and off I've been trying to locate a problem with a fairly complicated Perl daemon using POE which was taking a huge amount of time to return a large file via LWP::UserAgent. It's taken a while since in reality we were not doing a simple HTTP GET and the circumstances under which the problem occurs are difficult to set up. However, I've at last tracked it down to taint mode.

Devel::NYTProf saved us again and raises a question

Not for the first time a Perl POE daemon in our development system seemed to be taking a long time on certain requests. It is a large amount of code and although we had our suspicions we've learnt the lesson now - Devel::NYTProf is so simple to use we had no hesitation in running it on this daemon. Instead of:
perl program_args program.pl
you simply run:
perl -d:NYTProf program_args program.pl
then a nytprof.out file is created and then you can generate the HTML report and view it with:
mkdir report
nytprofhtml -o report
firefox 'file://report/index.html'

ODBC - The Connection Process

A great deal of issues arise in the dbi-users mailing list and to me personally concerning ODBC connection issues so I thought I'd describe the ODBC connection process here (with a slight Perl angle since I look after DBD::ODBC). The information here should be of general interest to anyone using ODBC.

DBD::ODBC 1.23_5 released - soon to move to official 1.24 release

I the last few days I released another development release of DBD::ODBC 1.23_5. I've been waiting for smoke testers to attack this release and then I will do an official 1.24 release. Since very few smokers actually run the test code I'm going to look at Test::Database for the next release - if you are a smoker and have Test::Database setup for DBD::ODBC I'd love to hear from you (really). 1.23_5 contains the following changes since 1.23: =head1 CHANGES =head2 Changes in DBD::ODBC 1.23_5 May 6, 2010 Added advice from Jan Dubois (ActiveState) on building DBD::ODBC for
Syndicate content