According to the ORA-01017 prompt is connected to the other side of the User Password error, so directly use the configured User Password (lsxylsxy) to log on to the database found normal login, further
According to the ORA-01017 prompt is connected to the other side of the User Password error, so directly use the configured User Password (lsxy/lsxy) to log on to the database found normal login, further
1. Create the original dblink statement:
Create public database link db_lsxy
Connect to lsxy identified by lsxy
Using '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = 192. xxx. xxx. xxx) (PORT = 2261) (CONNECT_DATA = (SERVICE_NAME = serName )))';
Note: The user password is in lower case.
2. the following error is prompted when dblink is created for use:
ORA-01017: invalid username/password; logon denied
ORA-02063: preceding line from
Iii. Problem Analysis:
According to the ORA-01017 prompt is connected to the other side of the User Password error, so directly use the configured User Password (lsxy/lsxy) to log on to the database found normal login, further Check the created dblink statement. The username is converted to uppercase, And you can guess whether the password is converted to uppercase, resulting in a Password error.
According to Baidu's guess, this is indeed the case. When the 9i or 10g version of Oracle Database is connected to the 11g version, the password is automatically converted to uppercase.
Iv. solution:
(Method 1. If the password of the 11g Database User is a lowercase letter, change it to an uppercase letter and then connect it with 9i. This method is too crude and has a big impact, so do not consider using it.
(Method 2: Use double quotation marks for the password. For example, identified by "jxunicom_sale"
In method 2, We Can slightly rewrite the dblink creation statement, as shown below:
Create public database link DB_LSXY
Connect to lsxy identified by "lsxy"
Using '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = 192. xxx. xxx. xxx) (PORT = 2261) (CONNECT_DATA = (SERVICE_NAME = serName )))';