Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hello,
I'm attempting to load two columns from an Oracle database.
SQL SELECT "PROJECT_ID", "CHECKSUM$" FROM TABLENAME;
It throws an "ErrorSource: Microsoft OLE DB Provider for ODBC Driver, ErrorMsg: [Oracle][ODBC][ora]ORA-00904: "CHECKSUM$": invalid identifier SQL SELECT "PROJECT_ID", "CHECKSUM$" FROM TABLENAME;
I know the problem is related to the "CHECKSUM$" column because when I remove it my query works without issue. It does not like the fact that there's a dollar sign within the column heading. Are there any ways on the QlikView side to "escape" the dollar sign when loading this column? I'm open to any ideas and re-trying things in the hopes that it works on a second time around. Lastly I'm unable to modify the existing database in any way.
I am using QlikView 11.20 Desktop
So it turns out I only have myself to blame for this one. My client is in the middle of rolling out changes to their database and while I was assured nothing would be affect my work, it turns out they actually did drop the CHECKSUM$ column from my tables. *Facepalm* Thanks for the responses from everyone.
What happens when you do this:
SQL SELECT "PROJECT_ID",
"CHECKSUM$" as [CHECKSUM$] or "CHECKSUM$" as [CHECKSUM]
FROM TABLENAME;
Have you tried to access your table and create the SQL SELECT using the table wizard?
Is this what has been produced?
You can also try
SQL SELECT "PROJECT_ID", [CHECKSUM$] FROM TABLENAME;
or
SQL SELECT "PROJECT_ID", `CHECKSUM$` FROM TABLENAME;
or
SQL SELECT "PROJECT_ID", TABLENAME.[CHECKSUM$] FROM TABLENAME;
Note that all these are not QV side attempts to solve your issue, since the SQL statement is send as-is to the database driver and interpreted by the driver.
Also the error is thrown by your database driver. In short: the solution needs to be found on the database driver side.
Thanks for the response. When I try with either of your suggestions I receive the following error: ORA-00923: FROM keyword not found where expected. Additionally when trying that statement in Oracle on it's own it throws the same error. Brackets do not appear to be a valid way to alias a column name.
it works with this syntax with an oledb 32 microsoft for oracle driver
sql select project_id, checksum$ from gmf_bi.a;
and this too
sql select project_id, "CHECKSUM$" from gmf_bi.a;
So it turns out I only have myself to blame for this one. My client is in the middle of rolling out changes to their database and while I was assured nothing would be affect my work, it turns out they actually did drop the CHECKSUM$ column from my tables. *Facepalm* Thanks for the responses from everyone.
Makes sense. I should have looked more closely before suggesting something. My bad
I think Oracle supports double quotes for column name but doesn't support square brackets