我在程序中用ODAC控件连接的数据库,在我的电脑上,自己的程序和SQLTools都连接正常,可是在同事的电脑上程序连接不上,启动SQLTools时出错,提示如下:
   
OCI8: Cannot allocate OCI handle.Program: SQLTools 1.4.1 build 72 (for trouble-shooting)
Location: .\SQLTools.cpp(236).
Platform: MS Windows XP Professional, Service Pack 3 (Build 2600)
COMCTL32.DLL: 6.0.2900.5512
OCI.DLL: 10.2.0.1.0Stack at the catch point:
0x7c92e514 KiFastSystemCallRet() + 0
请问高手这是怎么回事哦?

解决方案 »

  1.   

    程序中odac连数据的代码是怎么写的?    oraSession.Connected := false;;
        oraSession.Server := '192.168.36.32:1521:ora92';
        oraSession.Username := 'user';
        oraSession.Password := 'password';
        oraSession.AutoCommit := false;
        oraSession.Connected := true;;
      

  2.   

    我是这样连的:oraSession.ConnectPrompt := False;
    oraSession.Options.EnableNumbers := true;
    oraSession.ConnectString := CurConnectStr;
    {***
    其中CurConnectStr:=
    'user/password(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.84)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl)))'
    ***}
    oraSession.Connect;
    if oraSession.Connected then
      Result := True
      

  3.   

    CurConnectStr:=user/[email protected]:1521:rmyy2
      

  4.   

    你的连接字符串有问题,你那是Oracle的配置文件,不是ODAC连接数据库的格式。
    楼上的应该可以的。
      

  5.   

    CurConnectStr:=user/[email protected]:1521:rmyy2这个好奇怪哦,我去试试。不过我那个写法一直就没遇到过问题呢。
      

  6.   

    没有试过。后来我那同事在他机器上装一个oracle客户端,好了。
      

  7.   

    odac自带有oracle驱动,如果按照你写的如没有安装Oracle客户端是不能够连接数据库的。