各位大侠,我现在用PL/SQL连接oracle数据库时,出现一个问题,具体问题如下:oracle版本为10.2.0.4.0,是从10.2.0.1.0升级得到的。当客户端的tnsnames.ora配置为:
aaa =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
)
(CONNECT_DATA =
(SID = orcl)
)
)
此时PL/SQL可以连接,没有问题。
当tnsnames.ora改为:
aaa =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
)
(CONNECT_DATA =
(service_name = orcl)
)
)之后,PL/SQL就会出错:
ORA-12514: TNS:listener does not currently know of service requested in connect descriptor而我现在有一个程序,已经编译过了,里面默认使用的是service_name,已经不能再改为SID了,请问如何才能使用service_name连接到oracle数据库呢??
aaa =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
)
(CONNECT_DATA =
(SID = orcl)
)
)
此时PL/SQL可以连接,没有问题。
当tnsnames.ora改为:
aaa =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
)
(CONNECT_DATA =
(service_name = orcl)
)
)之后,PL/SQL就会出错:
ORA-12514: TNS:listener does not currently know of service requested in connect descriptor而我现在有一个程序,已经编译过了,里面默认使用的是service_name,已经不能再改为SID了,请问如何才能使用service_name连接到oracle数据库呢??
开始--程序--Oracle--Database upgrade assistant
别的参数不需要修改
SQL> show parameter ser;service_names string orcl.hn.modata.com我在PL/SQL中将service_name写成这个肯定也不行。请教一下,我怎么将service_name改为orcl,去掉后面的域名呀??
改为service_name=orcl 不行 错误:ORA-12514
改为service_name=orcl.hn.modata.com 更不行 错误:ora-12545
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)我的是这样的 ,可不可以把SID = orcl SERVICE_NAME = orcl 都写上,可以试试
两个都写上也不行,好像是首先去找的service_name,所以提示的错误还是ora-12514我想请教一下,如何将oracle数据库的service_name进行修改呢???
重新装一个ORACLE ,我刚装个,比较熟悉
把SID 该成service_name!
我现在想要使用service_name,但不能,总提示ora-12514的错误,只有换成SID才可以。不过我必须得用Service_name,不知道怎么才能使用。
全局数据库名=数据库名+数据库域名(db_domain)
你把数据库域名改为空,再用service_name = orcl试试
ngstst =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 100.22.67.98)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ngbiltst)
)
)
aa=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 100.22.67.98)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = sid)
)
)
应该没问题的,不一样的就后面
server_name= 全局数据库的值
就行啦