OCILong 调用ORACLE9I数据库时出错(在线等待,立即散分) ORA-12154: TNS:could not resolve service name 服务器名不对一般oracle不会报 error ORA-12154 in /usr/local/apache/htdocs/login.php on line 90这种错误的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那我应该怎么做呢?OCILogon是不是调用的监听程序的设置?服务器名是指的哪个名字? 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 ); 例子更难懂,如下: (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); OCILogon开启与 Oracle 的连结。语法: int OCILogon(string username, string password, string [OCACLE_SID]);传回值: 整数函式种类: 资料库功能 内容说明 本函式使 PHP 与 Oracle 建立连结。参数 username 与 password 分别为连线的帐号及密码。参数 OCACLE_SID 为资料库名称,可省略。传回值为连线的代码。————他们说的对不对 $db = @OCIPLogon("$DB_LOGIN","$DB_PASSWORD","(DESCRIPTION=(ADDRESS=(PROTOCOL =TCP)(HOST=$DB_SERVER)(PORT = 1521))(CONNECT_DATA =(SERVICE_NAME=orc1)))") or die("数据库联接出错!"); 这种方式也试过了,还是不行 OCILogon开启与 Oracle 的连结。语法: int OCILogon(string username, string password, string [OCACLE_SID]);估计是php的oracle连接,也就是php的函数 ORA-12154: TNS:could not resolve service name 可以肯定,你的第三个参数传错了 如果在Unix下$>export找 ORACLE_SID的值,把他作为SERVER_NAME的值,还是不行,你就得看看你的ORACLE设置的参数了 ORACLE_SID 就是orabd其他设置都看哪些呢 Oracle11g创建表空间 oracle sql developer 导出已查询的结果 (初学)触发器编译不成功 小弟有个问题~ 各位高手来帮小弟看个SQLSERVER的语句如何改成ORACLE9i能执行的 简单却又很玄的问题,希望各位朋友热心参与讨论 送分题,sysdba, sysoper,normal什么区别? ★★在线等候:一个非常非常菜的问题,怎么创建个能够带查询条件的视图 oracle用户对于表操作的权限判断 oracle 如何通过一个表 更新另外一个表 update set…… 怎么根据列号返回数据 急,在线等候。有点长,希望大家能耐心看看
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 );
(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);
开启与 Oracle 的连结。
语法: int OCILogon(string username, string password, string [OCACLE_SID]);传回值: 整数
函式种类: 资料库功能
内容说明
本函式使 PHP 与 Oracle 建立连结。参数 username 与 password 分别为连线的帐号及密码。参数 OCACLE_SID 为资料库名称,可省略。传回值为连线的代码。————他们说的对不对
这种方式也试过了,还是不行
开启与 Oracle 的连结。
语法: int OCILogon(string username, string password, string [OCACLE_SID]);估计是php的oracle连接,也就是php的函数
$>export
找 ORACLE_SID
的值,把他作为
SERVER_NAME
的值,还是不行,你就得看看你的ORACLE设置的参数了