今天,在Windows 2008(64 bit) 上安装Oracle 11g (64 bit),安装顺利进行。安装结束后,可以顺得登录SQL Plus及EM。但打开Oracle自带的SQL Developer时(在开始菜单里是一个启动SQL Developer的批处理),没反应。打开SQL Developer.exe目录,双击SQL Developer.exe,显示要查找java.exe,选择java.exe路径确定后却弹出找不到java虚拟机之类的错误,开始以为是安装Oracle自带的jdk不行,于是重新下载了64位的jdk来安装,安装后指向它仍然不行。于是告一段落,安装PL SQL Developer试试。安装8.0版本的,安装完后又提示oci.dll出错。
最后在网上找到一个可以暂时替换的解决办法。再安装一个32位的Oracle客户端,安装好后,上述两种工具使用正常。这样一来,其实这部机上有二个tns,一个是DB下面的,一个是Client下面的。二个都能用,在DB打开SQL Developer的用的是DB下面的tns, 在Client打开的SQL Developer用的是Client下的tns。而PL SQL Developer默认用的是Client下的tns, 还有个值得注意的问题是,上面提到我另安装了64位的jdk,如果将这个jdk卸掉,DB下面的SQL Developer.bat启动不了,启动DB下面的SQL Developer.exe,会用Client下的tns,重新装上64位的jdk又可以正常启用SQL Developer.bat及DB下的tns了。还有,如果在这部机上建立udl来连接Oracle数据库,则只能识别DB下面的tns。