The code in this Help topic fails with SQLCODE=-1090 Determining the Security Model Used by a Database ( or is this a completely pointless topic... and question? :) SELECT @@VERSION; @@VERSION '17.0.10.6285' SELECT IF ((HEXTOINT(SUBSTRING(DB_PROPERTY('Capabilities'),1,LENGTH(DB_PROPERTY('Capabilities'))-20)) & 8) = 8) THEN 1 ELSE 0 END IF Function 'hextoint' has invalid parameter '1' ('3DF8C0C66') SQLCODE=-1090, ODBC 3 State="08004" |
FWIW, with v16 for a database, which was reloaded from an originally pre-v16 database, it returns "1" as expected in my case.
UPDATE: This seems to be a bug introduced with v17.0.10.x. I had also tested with the 17.0.10.6285 demo database, and it worked as expected. The system catalog was lastly upgraded with 17.0.9.4838.
Now, when altering the system catalog etc. via ALTER DATABASE UPGRADE PROCEDURE ON, I also get the error message (with a different parameter value).
What does the following show for your database:
My sample demo database returns:
Apparently, the Capabilities database property is way longer with 17.0.10.x than in previous versions, it looks like it would have 8 more leading digits...
> What does the following show
If I ran it, it would show it was initialized with 17.0.10.6285.