今天在创建10g连接11g的dblink连接后,查询的时候提示用户名/密码无效,开始以为是oracle的一个bug,结果测试发现是11g语法的问题。
原来在oracle11g当中建dblink时密码必需要加上双引号,而且在11g当中密码默认是区分大小写的,这跟10g是有区别的。
测试如下:
SQL> Create Database Link LINK_5238 Connect To System Identified By em238#1108 Using '5238'
SQL> show parameter glo
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
global_context_pool_size string
global_names boolean FALSE
SQL> Select * From dual@LINK_5238;
Select * From
dual@LINK_5238
ORA-01017: invalid username/password; logon denied
ORA-02063: 紧接着 line (起自 LINK_5238)
SQL> drop database link LINK_5238;
SQL> Create Database Link LINK_5238 Connect To System Identified By "em238#1108" Using '5238';
SQL> Select * From
dual@LINK_5238;
DUMMY
-----
X