ping成功了怎么连接mysql,即使我可以成功连接到数据库,tnsping ping也会失败

In trying to establish connectivity from my workstation (actually, am seeing the same behavior on both WinXP32 and Win764 workstations) to an Oracle server, the first thing I always try is a tnsping. When I do so, this is what I get:

> C:\>tnsping MYDBNAME

>

> TNS Ping Utility for 32-bit Windows:

> Version 10.2.0.1.0 - Production on

> 25-JAN-2 011 15:03:35

>

> Copyright (c) 1997, 2005, Oracle. All

> rights reserved.

>

> Message 3511 not found; No message

> file for product=NETWORK,

> facility=TNSMessage 3512 not found;

> No message file for product=NETWORK,

> facility=TNSAttempting to contact

> (DESCRIPTION = (ADDRESS_LIST =

> (ADDRESS = (PROTOCOL = TCP) (HOST =

> thisismyservername.com)(PORT = 1577)))

> (CONNECT_DATA = (SID = MYDBNAME)))

> Message 3509 not found; No message

> file for product=NETWORK, facility=TNS

So, as you can see, it is properly detecting my tnsnames file, and picks up the correct server address and port for the specified database, but the tnsping fails with 3511 and 3509 errors.

The strange part is, using sqlplus or Toad, from the same workstation, I can connect to that very same database successfully.

Can anyone explain what is happening here?

FWIW:

The ORACLE_HOME system environment variable (and any other oracle environment variables) is not set.

Update

The ORACLE_HOME environment variable does not necessarily HAVE to be set, it seems to depend per machine somehow. My particular issue was: Oracle 10g has/had a known defect in that tnsping.exe simply didn't work. There is a patch

解决方案

I believe this can happen when your ORACLE_HOME environment variable is not set properly. tnsping is still available from the PATH, but it can't find its message files. What does echo %ORACLE_HOME% show, and where is the Oracle client actually installed?

This wouldn't necessarily have any effect on access from Toad as it doesn't need to access ORACLE_HOME directly; you may have given a full connection string, or it may be able to pick up a service name if TNS_ADMIN is set.

Edit

You might also have several Oracle products that are interfering with each other. If so try going to Start->All programs->Oracle Installation Products->Home Selector and picking the one that is related to the tnsping you're executing. (Actually this is for the 9i client; I think for 10g you might need to use the universal installer, changing via Installed Products->Environment, but can't check).

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值