Make DB nodes case-insensitive

I have to support both Oracle DB and PostgreSQL in my workflow. All identifiers in Postgre are for some reason lower-cased whereas the same objects in Oracle DB have upper-cased identifiers. My workflow works pretty well in Oracle. Now I invoked just a few initial nodes and I’ve learned it’s going to be difficult.

First, DB Table Selector claims data object does not exist. I’ve read somewhere in this forum, KNIME sends all DB objects identifiers quoted so that it would support identifiers that contain spaces. Well, I’d coin people who use spaces in DB identifiers deserve solving problems these results, whereas people who don’t should benefit from the fact DB identifiers are case-insensitive (unless you intentionally force your database to behave case-sensitive).

1 Like

SQL Server also is case insensitive.

WOW! Is this the trick?


It seems it is. At least DB Table Selectors stopped complaining a table does not exist when case does not match.

1 Like

For case anybody would have to uppercase table column names, I’m sharing my own implementation of this. It doesn’t handle duplicate column names anyhow.
This is an Uppercase Column Names component:


This is a test workflow for the component:
image
And here is the workflow exported:
Uppercase Column Names - Test.knwf (21.8 KB)

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.