ORA-12154: TNS:could not resolve service name 服务器名不对一般oracle不会报 error ORA-12154 in /usr/local/apache/htdocs/login.php on line 90
这种错误的

解决方案 »

  1.   

    那我应该怎么做呢?OCILogon是不是调用的监听程序的设置?服务器名是指的哪个名字?
      

  2.   


    OCILogon()是自己封的class么?8i中是这样定义的:
    sword OCILogon ( OCIEnv          *envhp,
                     OCIError        *errhp,
                     OCISvcCtx       **svchp,
                     CONST text      *username,
                     ub4             uname_len,
                     CONST text      *password,
                     ub4             passwd_len,
                     CONST text      *dbname,
                     ub4             dbname_len );
      

  3.   

    例子更难懂,如下:
      (void) OCIInitialize((ub4) OCI_DEFAULT, (dvoid *)0,
                           (dvoid * (*)(dvoid *, size_t)) 0,
                           (dvoid * (*)(dvoid *, dvoid *, size_t))0,
                           (void (*)(dvoid *, dvoid *)) 0 );  (void) OCIEnvInit( (OCIEnv **) &envhp, OCI_DEFAULT, (size_t) 0,
                         (dvoid **) 0 );  (void) OCIHandleAlloc( (dvoid *) envhp, (dvoid **) &errhp, OCI_HTYPE_ERROR,
                       (size_t) 0, (dvoid **) 0);  /* server contexts */
      (void) OCIHandleAlloc( (dvoid *) envhp, (dvoid **) &srvhp, OCI_HTYPE_SERVER,
                       (size_t) 0, (dvoid **) 0);  (void) OCIHandleAlloc( (dvoid *) envhp, (dvoid **) &svchp, OCI_HTYPE_SVCCTX,
                       (size_t) 0, (dvoid **) 0);  (void) OCIServerAttach( srvhp, errhp, (text *)"ora902", strlen("ora902"), 0);
      

  4.   

    OCILogon
    开启与 Oracle 的连结。
    语法: int OCILogon(string username, string password, string [OCACLE_SID]);传回值: 整数
    函式种类: 资料库功能
     
    内容说明 
    本函式使 PHP 与 Oracle 建立连结。参数 username 与 password 分别为连线的帐号及密码。参数 OCACLE_SID 为资料库名称,可省略。传回值为连线的代码。————他们说的对不对
      

  5.   

    $db = @OCIPLogon("$DB_LOGIN","$DB_PASSWORD","(DESCRIPTION=(ADDRESS=(PROTOCOL =TCP)(HOST=$DB_SERVER)(PORT = 1521))(CONNECT_DATA =(SERVICE_NAME=orc1)))") or die("数据库联接出错!"); 
    这种方式也试过了,还是不行
      

  6.   

    OCILogon
    开启与 Oracle 的连结。
    语法: int OCILogon(string username, string password, string [OCACLE_SID]);估计是php的oracle连接,也就是php的函数
      

  7.   

    ORA-12154: TNS:could not resolve service name 可以肯定,你的第三个参数传错了
      

  8.   

    如果在Unix下
    $>export
    找 ORACLE_SID
    的值,把他作为
    SERVER_NAME
    的值,还是不行,你就得看看你的ORACLE设置的参数了
      

  9.   

    ORACLE_SID 就是orabd其他设置都看哪些呢