文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>cygwin使用oci连接数据库

cygwin使用oci连接数据库

时间:2010-05-19  来源:cj_gameboy

在win上安装oracle,在cygwin上连接数据库。使用默认方式建库,数据库名为orcl, 用户nari。

0.    将oracle的路径下文件拷贝到指定文件夹下,然后在编译makefile中写明相关路径,修改unix下程序编译的库文件名为-loci,程序编译成功。

1.         执行时,发现程序连接数据库不成功,sqlplus nari/xxx@orcl正常,检查程序,发现程序中连接数据库使用的是localhost而不是主机名。

2.       于是修改oracle的listener.ora和tnsnames.ora文件,将其中所有写主机名的地方修改为127.0.0.1,重启数据库服务后使用sqlplus nari/xxx@orcl登录不上去。

3.         在网上查了好多帖子后来试了把下面的:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
      (PROGRAM = extproc)
    )
  )
改成:
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = orcl)
      (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
      #(PROGRAM = extproc)
    )
  )

sqlplus nari/xxx@orcl登录成功,但是使用程序连接数据库仍然失败;程序中调用OCIEnvCreate的函数执行后返回-1,而且参数pOraEnv->envhp分配空间未成功;

 

4.        最后发现, 程序中OCIEnvCreate换成OCIInitialize和OCIEnvInit 则程序正常,不知道是否是兼容性方面的问题;此外,使用单用户方式连接数据库OK,使用多用户方式连接数据库出现异常。


相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载