使用occi连接数据库时出错:ORA-12537:TNS:connection closed

【求助】使用occi连接数据库时出错:ORA-12537:TNS:connection closed
我的想法很简单很简单。。。

只不过是:刚在新装的Centos下安装了oracle11g。在sqlplus下使用select table_name from user_tables,能够成功执行并返回结果,说明数据库已经正常运行了。
现在想要通过写一个occi连接oracle的小程序在本机测验一下是否能够正常操作oracle数据库。代码极其简单:

#include <iostream>
#include <occi.h>
#include <sstream>
#include <time.h>
using namespace std;
using namespace oracle::occi;

int main()
{
    Environment *env = Environment::createEnvironment(Environment::DEFAULT);    
    string name = "sys";
    string pass = "123";
    string srvName = "xxx.xxx.xxx.xxx:1521/ORCL";    //ip是本机的ip地址。
    cout << " run to 1 !!!!!!!!" << endl;
    Connection *conn = env->createConnection(name,pass,srvName);
    cout << " run to 2 !!!!!!!!" << endl;
    if(conn) cout << "con suc" << endl;
    Statement *stmt = NULL;
    string sql = "select table_name from user_tables where rownum<=5";
    stmt = conn->createStatement();
    stmt->setSQL(sql);
    ResultSet *rs = NULL;    
    rs = stmt->executeQuery();
    while(rs->next())
    {
        cout << "name: " << rs->getString(1) << endl;
    }
    
    return 0;    
}

编译通过后,先sqlplus>startup,后lsnrctl start。
运行程序,出现错误:ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
出现此问题后,查询解决方法,在listener.ora文件中加入:
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = ORCL.LOCAL)
      (ORACLE_HOME = /opt/oracle/11g)
      (SID_NAME = ORCL)
    )
  )
先关闭后重启数据库服务和监听。再次运行程序又出现错误:ORA-12537: TNS:connection closed

使用lsnrctl status查看监听状态显示如下:

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 21-FEB-2014 18:50:56

Copyright (c) 1991, 2009, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date                21-FEB-2014 18:01:47
Uptime                    0 days 0 hr. 49 min. 9 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /opt/oracle/11g/network/admin/listener.ora
Listener Log File         /opt/oracle/diag/tnslsnr/ma/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=222.201.139.194)(PORT=1521))(PROTOCOL_STACK=(PRESENTATION=GIOP)(SESSION=RAW)))
Services Summary...
Service "ORCL.LOCAL" has 1 instance(s).
  Instance "ORCL", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully

状态是unknown是否不对啊,是不是应该是ready才对呢?
此问题,在网上查了好多资料还是不知道如何解决,网上有说是限制ip的问题,在我的配置里边没有限制。
我只是想使用occi编程操作数据库,数据库现在应该是正常运行了,可能是网络连接配置的问题,现在连接不上数据。

现在真的迷茫了,大家帮帮忙,这是怎么回事。
------解决方案--------------------
plsqldev ?