toad用的应该是sql*net或者net8连接oracle,原理应该是从tnsnames.ora文件分析出tnsname列表

解决方案 »

  1.   

    如果你用jdbc:thin来连接的话,不需要用到sql*net吧?
      

  2.   

    是否安装可以从注册表,目录中检查
    可用检查就比较麻烦,可能需要用一个用户试着连接一次
    列出所有的database服务供用户选择登陆比较简单吧
    只要有足够的文件操作能力就可以,分析tnsnames.ora
      

  3.   

    谢谢两位大侠,能不能先取出系统环境变量的Path,找出形如E:\oracle\ora81\bin;的字串,然后调用命令行的lsnrctl和svrmgrl(或者读取脚本)启动Oracle呢?
      

  4.   

    另外,我想请教如何快速找出有效的tnsnames.ora呢,在硬盘上搜索tnsnames.ora文件速度好像太慢了?
      

  5.   

    如果是NT,不用读环境变量,从注册表读是最好的
    可以得到oracle_home
    也可以调用svrmgrl启动/关闭数据库(只要你有权限)
    tnsnames.ora的路径在注册表中也有对应键
      

  6.   

    谢谢两位大侠指点,我还有两个问题:
    一是java能否读出系统环境变量的path路径(非java.class.path),
    二是java如何调用命令行的命令,比如我想在Swing中做个按钮,点击就可以运行“oemapp dbastudio”,从而打开Oracle's dbastudio.试了一下Runtime.getRuntime().exec(command),好像只能打开记事本。
    此贴已结!上面两个问题另开贴给分,虽然你们不是为了这东东。