你的tns服务有问题,是不是第一次登录退出后,服务自失效了
你登录之前重新启动一下tns服务,如果能登录,说明是监听服务的问题
你登录之前重新启动一下tns服务,如果能登录,说明是监听服务的问题
解决方案 »
- 【请教】UNIXODBC和freeTDS是什么关系?
- 在linux 下装 oracle
- 调查!
- 请问连接oracle的驱动会根据数据库版本不同而变化吗?
- select count(*) from (子查询),子查询中含order by是否对效率有影响?
- 这句在Oracle中怎么写
- 请问Oracle有没有类似mssql联机丛书的官方资料
- 在一个Function里怎样返回一个Cursor?
- 为什么在8i能执行的,将数据库移植到9i后存储过程不能执行。
- 请问谁有连接oracle9i的例子?
- 如何改变internal的口令?
- 如何在linux下用C开发客户端程序访问另外一台linux服务器上的oracle数据库?
金山网镖会导致tns服务出问题,在服务管理器重起tns服务就可以了,或者不要让金山网镖在开机时运行(如果你觉得没什么用的话).
当然其他问题也可能导致同样问题,都只要重起tns服务就可以了TNS服务是始终都在,而且是启动状态,但是它不能访问网络(假设是金山网镖引起的)
是 conn user/pass@net_service_name这个问题重复了知道N次了
显得太……如果是conn user/pass
这是在服务器上,不走listener,直接登陆,如果有多个数据库
则跟你的环境变量 oracle_sid有关ORA2000 = ------- net_service_name
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(sid = his) ---- 我记得你这里是这个的 sid/service_name
)
)这样的host只能连接本机难道大家混了这么久,oracle用了这么久
sid
service_name
net_service_name
几个基本概念都还没有弄清楚么!!!service_name = db_name.db_domain (在init文件中有)
通常 sid 跟 db_name 是一致的
db_domain通常可能是空的
所以service_name可能跟sid也就一致了而net_service_name因为你配置的时候通常不知道输入什么,就输入了sid
于是大家都认为这些都是一样的
于是大家用了很久还不知道他们到底有什么差别!!!!事实上 net_service_name 是随意的一个字符串
sid是建库的时候决定的db_domain跟你的机器是否有域设置有关
大多数应该是没有faint
请把 listener.ora 和 init.ora 一起贴出来肯定有地方有问题
************************************************
************************************************
# TNSNAMES.ORA Network Configuration File: D:\Oracle\Ora81\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.ORA2000 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ora2000)
)
)EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)********************************************************************