IBM however has decided to take a more enlightened (or calculating) approach. Their DB2 8.2 Express-C Edition has a two-CPU limit (I don't know if Hyperthreading CPU's are counted as two) and a 4GB memory limit. That means one can run "serious" applications (albeit without support) without mentally wondering about the Sword of Damocles of a 4GB total database size limit hanging over one's head.
It's just extremely annoying that
- registering on IBM's web site was unnecessarily painful (a few reloads were needed before the obtuse error disappeared);
- I wasn't able to download it anyway because I had indicated Philippines as my country of origin and apparently DB2 is a munition
I tried changing my registration information to an address in the US (the address of the freight forwarder I use) but apparently no dice. IBM is using IP address location mapping and knows I'm not in the US. Time to get that free Propel trial account.. Overall, an unnecessarily annoying setback.
On another note.. serializing an array for MS SOAP Toolkit using SOAP::Lite. One dirty way is as follows:
# serializing array @payload (note: special characters e.g. < > & don't get escaped!)
my $num = scalar @payload;
my @params = (
"Message" => \SOAP::Data->value(
SOAP::Data->name( "ns3:string" => @payload )->type("xsd:string")
"xmlns:ns2" => "http://www.w3.org/2001/XMLSchema",
"xmlns:ns3" => "http://schemas.xmlsoap.org/soap/encoding/",
"ns3:arrayType" => "ns2:string[$num]",
"xmlns:ns4" => "http://www.w3.org/2001/XMLSchema-instance",
"ns4:type" => "ns:Array"