Qlik Community

QlikView Scripting

Discussion Board for collaboration on QlikView Scripting.

Announcements
Modernize Your QlikView Deployment webinar, Nov. 3rd. REGISTER
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Load script contains invalid characters ($)

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

1 Solution

Accepted Solutions
Highlighted
Not applicable

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.

View solution in original post

7 Replies
Highlighted

What happens when you do this:

SQL SELECT "PROJECT_ID",

"CHECKSUM$" as [CHECKSUM$] or "CHECKSUM$" as [CHECKSUM]

FROM TABLENAME;

Highlighted
MVP
MVP

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.

Highlighted
Not applicable

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.

Highlighted
MVP
MVP

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;

1.png

Highlighted
Not applicable

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.

View solution in original post

Highlighted

Makes sense. I should have looked more closely before suggesting something. My bad

Highlighted
MVP
MVP

I think Oracle supports double quotes for column name but doesn't support square brackets