在LINUX下使用OCI时,因为特殊原因,只有WINDOWS下的ORACLE服务器,并且在LINUX上也安装了ORACLE客户端。
但在LINUX使用OCI程序连接WINDOWS下ORACLE时,始终连不上,并且报错:"ORA-12154: TNS: 无法解析指定的连接标识符"
但使用该username,password,sid通过linux下的sqlplus可以连上windows下的ORACLE服务器。
请教高手是何原因。
但在LINUX使用OCI程序连接WINDOWS下ORACLE时,始终连不上,并且报错:"ORA-12154: TNS: 无法解析指定的连接标识符"
但使用该username,password,sid通过linux下的sqlplus可以连上windows下的ORACLE服务器。
请教高手是何原因。
解决方案 »
- 怎么写SQL语句对结果集逐条处理
- 数据适配器中报错 Too many cursors
- ojdbc14和ojdbc14.2.0.3的问题。。。项目很大,存储过程需要ojdbc14这个包
- oracle存储过程如何取动态字段内容(临时表)并汇总合并输出数据集??
- 数据库插入
- plsql中 可以 使用 with 嗎???????????????????????????????????????
- 写操作无限等待的问题
- 求一简单SQL语句!
- 关于SQLLDR导入数据的问题
- 安装OWB时出错,提示"加载数据库出错:AreaQueries",该如何解决????紧急求救,并献上100分.
- 数据仓库和JAVA开发
- [PL/SQL] 工具PL/SQL DEVELOPER新手请教 在线等待
{
int iRet;
pthread_mutex_lock(&mutexDBConnect);
iRet =iConnOracle(pstDBPara,
gl_stSysParam.stOraParam.szOraUsrName,
gl_stSysParam.stOraParam.szOraUsrPasswd,
gl_stSysParam.stOraParam.szOraTNSName);
pthread_mutex_unlock(&mutexDBConnect);
if (iRet < 0)
{
char szErrBuf[1024];
sprintf(szErrBuf, "Connect oracle fail.\n%.800s\n", pstDBPara->szErrMsg);
mSETERRMSG(0, szErrBuf, *pstErrMsg);
return(-1);
}
return 0;
}
肯定是对的么?
但是如果你从当前的LINUX机,按你的TNS文件,能够连接上的话,可能还是代码的问题。
最好是找到开发人员,让他来调试一下,因为他的程序读取源文件的时候,有可能读的不是你所配置的Tns文件。也有可能读的是他程序自带的配置文件。。他给你的程序包里,没有其它的配置文件么?比如说后辍是ini之类的?