Thank you all. Now, I understand that it was not due to the field name which caused the problem. It was due to the returned length of the awb_msg.text field was just too big.. (too many characters in the order of about 800,000 bytes).
I read this article http://www.easysoft.com/developer/languages/perl/dbd_odbc_tutorial_part_2.html#long_data and fixed it with these 2 lines in the program: $dbh->{'LongTruncOk'} = 1; #use 1 if it is ok to trunc data $dbh->{'LongReadLen'} = 10000000; # i have seen upto 800,000 bytes already. Thank you for your support. Previously those 2 lines were not in my code at all and I never knew about this parameter before as I am totally new to this. And, to add to the confusion, the field name was using the SQL keyword. Now, the field name works nicely regardless of quotes, or anything. awb_msg.text text awb_msg."text" ALL works.
