I’ve whined a bit lately about having to jump through syntactic hoops to get past new security restrictions. Yet one of today’s DB2 barriers was a functional change, and not security-related.
I have this long-standing habit of using IXF export and import to quickly copy tables and shuffle data around. So much so that commands like the following just flow from the subconscious:
db2 import from myfile.ixf of ixf create into mytable
Trouble is, create (and its variants) have been deprecated since DB2 9.5, so this command fails with an SQL3311 error in my DB2 9.7 environments. The help text for that error (db2 ? sql3311) provides the work-around: add the forcecreate modifier. That is:
db2 import from myfile.ixf of ixf modified by forcecreate create into mytable
I understand the reasoning for the change: new features like XML, MDC, and table partitioning have outgrown IXF. But breaking compatibility of frequently-used commands is just plain cruel punishment toward old guys like me. Yet since “modified by forcecreate” is the new “please”, I’m sure I’ll eventually learn to say it the first time.