SQL1046N – The authorization ID is not valid
This error is very common in DB2 though it is not an error usually finds by the database administrators during their tasks, but by applications or technicians during the configuration phase of a new environment. In this article we will see some of the common causes of this error.
As we see the information about the error in the Information Center, the explanation of the causes of this error may be due to a variety of reasons:
SQL1046N - The authorization ID is not valid.
The authorization specified at logon is not valid for either the data source or the database manager. One of the following occurred:
• The authorization contains more than 30 characters for Windows platforms or 8 characters for other platforms.
• The authorization contains characters not valid for an authorization. Valid characters are A through Z, a through z, 0 through 9, #, @ and $.
• The authorization is PUBLIC or public.
• The authorization begins with SYS, sys, IBM, ibm, SQL or sql.
• The authorization violates some data source-specific naming convention.
The command cannot be processed.
Log on with a valid authorization ID.
In my experience, the reasons I find to get this error are:
– A connection to DB2 from a system operating user with more than 8-characters in Linux.
– A change of a server name including at the beginning of the new hostname the string: sql, sys, ibm (both: uppercase or lowercase).
I hope you can find the right reason of this error, and if you have a concrete explanation as above, please let me know to include in this simple article.