如果你的答案跟下面的一样,就不用回答了。
ORA-12560: TNS: 协议适配器错误的问题的原因有三个:
1.监听服务没有起起来。windows平台:运行“services.msc”,启动OracleOraDb11g_home1TNSListener服务。
2.database instance没有起起来。windows平台:运行“services.msc”,启动OracleServiceXXXX,XXXX就是你的OracleSID.
3.注册表问题。regedit,然后进入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1将该环境变量
ORACLE_SID设置为XXXX,XXXX就是你的database SID.或者右几我的电脑,属性--高级--环境变量---系统
变量--新建,变量名=oracle_sid,变量值=XXXX,XXXX就是你的database SID.或者进入sqlplus前,在
command line下输set oracle_sid
如果同时安装了server和client, sqlplus开起来的时候应该用的可能是client目录下的
从HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1\ORACLE_SID复制这个ORACLE_SID到KEY_OraClient11g_home1

 
ORA-28009: connection as SYS should be as SYSDBA or SYSOPER
在打了sqlplus后,要输入时,直接在用户名处输sys/密码 as sysdba即可
我还是一个新手,在这里向广大高手体问题,望勿见笑。
我用VS2010开发程序,要连接oracle11g的数据库,听说要安装客户端程序,于是我就到oracle的官网下载到了ODTwithODAC1120320_32bit这个东东,安装完后我遇到了下面这个问题 ,一直连不上数据库。错误提示: 我是在VS2010中连接的。但是连不上。我现在的状态:       操作系统:windows7(64位)       我已经安装了VStools       Oracle11g 服务器端:
          1.安装在本机
          2.安装位置:G:\Oracle\OracleSetup
          3.64位版本
          4.版本:R2    
          5.Sqlplus:可以登录,使用正常
          6.监听服务:OracleOraDb11g_home1TNSListener     已启动
          7.实例:OracleServiceORCL                       已启动
    
       Oracle11g客户端
          1.安装在本机
          2.安装位置:G:\Oracle 
          3.安装程序名称:ODTwithODAC1120320_32bit
          4.32位版本
          5.版本:ODAC 11.2 Release 5(oracle 官网下载)
       我做的修改:
       一.tnsnames.ora文件(注意,我只是修改了客户端目录下的tnsnames.ora)           位置在G:\Oracle\product\11.2.0\client_1\Network\Admin\Sample           修改字符串为
ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT =1521 ))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )
        二.系统环境变量         我在系统环境变量中添加了
  
         Oracle_sid=orcl         我的疑问        1.我为了在VS2010开发与oralce11g相关的程序,要安装客户端么?
        2.是不是客户端和服务器端装在同一个系统上会发生冲突?
        3.服务器端是64位的,而客户端是32位的,有影响么?
        4.如果不存在上面这些问题,那我还要做那些修改和配置才可以让VS2010连上oracle11g?

解决方案 »

  1.   


    tnsnames配置有点问题
    ORCL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT =1521 ))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )
    这个要参考你的server所在主机listener.ora和服务器
      

  2.   

    我把我的服务器的listener.ora告诉你SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = CLRExtProc)
          (ORACLE_HOME = G:\Oracle\OracleSetup\product\11.2.0\dbhome_1)
          (PROGRAM = extproc)
          (ENVS = "EXTPROC_DLLS=ONLY:G:\Oracle\OracleSetup\product\11.2.0\dbhome_1\bin\oraclr11.dll")
        )
        (SID_DESC =
          (GLOBAL_DBNAME = orcl)
          (SID_NAME = ORCL)
        )
      )LISTENER =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = Linkliu-PC)(PORT = 1521))
      )ADR_BASE_LISTENER = G:\Oracle\OracleSetup下面这个是server里面的tnsnames.oraORACLR_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
        (CONNECT_DATA =
          (SID = CLRExtProc)
          (PRESENTATION = RO)
        )
      )LISTENER_ORCL =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    ORCL =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )
    接下来我该怎么做
      

  3.   

    你可以用PLSQL试下如果可以连接成功那就是你VS没有添加Oracle引用 或者是你的监听文件地址和服务名写错了。
      

  4.   

    为什么不弄客户端和服务端版本一致呢。
    最好先用ODBC 来测试下连接是否正常。
      

  5.   

    oracle的官网下载到了ODTwithODAC1120320_32bit这个东东
    ===================================================
    这个是 oracle 的访问控件,不是 oracle 的客户端。
      

  6.   

    多谢各位的提醒,我的VS2010可以连接数据库了,客户端也可以连接服务器端了
    下面的是SQLdeveloper连接数据库的截图但是新的问题又出现了,
    问题是这样的客户端出现ORA-12560:TNS:协议适配器错误真是一波未平一波起问题描述:我的oracle11g服务器端(64)和客户端(32)装在同一台电脑上。安装完之后出现了如下目录(如图) 在这之中:
    Oracle-OraClient1g_home1下的应用程序开发中有一个SQL plus
    Oracle_OraDb11g_home1下的应用程序开发中也有一个SQL plus我的疑问:我开始用Oracle_OraDb11g_home1中的SQL plus登录,然后提示ORA-12560:TNS错误。然后我就在系统的环境变量中的path中。把G:\Oracle\OracleSetup\product\11.2.0\dbhome_1\bin;这一条放在了最前面
    然后就可以登录了,
    但是此时问题来了
    当我使用Oracle-OraClient1g_home1的SQL plus登录时,它又提示ORA-12560:TNS错误。
     我不知道该怎么办了,你们有什么办法
      

  7.   

    关键是sqlplus 是怎样连接oracle数据库的...
    通过哪些配置文件连接的...
      

  8.   

    两个sqlplus...
    一个数据库...
      

  9.   

    是由两个sqlplus,一个是client的一个是oracleserver的。