一段java程序
首先调用1个bat
之后在程序中连接数据
bat文件的内容是insert操作
sqlplus user/password
insert .....
insert .....现在是调用完bat之后,然后连接数据库,进行检索操作的时候,就出现socket closed错误
如果不调用这个bat,直接进行数据库连接,然后检索,就没有问题
哪位大虾知道是什么原因阿
谢谢了先

解决方案 »

  1.   

    当socket 关闭的时候,你又执行一些操作。出现了异常。。要不你把代码贴出来和你是怎么操作的
      

  2.   

    先是调用bat文件
    内容:
    SQLPLUS conn user/pass
    insert ....
    insert ....
    insert ....
    insert ....
    exit这是bat的内容之后就是在java程序中进行数据库连接,然后检索程序现在手头没有
    全在公司呢
    明天帖上来
      

  3.   

    执行bat的最后要关闭数据库这个应该怎么处理
      

  4.   

    bat的内容: 
    sqlplus 1.sql 1.sql的内容: 
    spool 1.log 
    connect user/password 
    insert .... 
    insert .... 
    spool off 
    exit 然后java 调用这个bat文件
      

  5.   

    dos下的sqlplus没用过,如果是在shell中是需要管道限定符EOF包起来的sqlplus  $user/$passwd@inst <<EOF
    ....do something
    EOF
      

  6.   

    个人感觉你写的bat脚本有问题,我在我的机器下试是行不通的。执行完sqlplus user/password连接数据库之后不会进行再执行insert插入,因为当前的环境已经切换到sqlplus下。建议写成:
    insert.bat
    SQLPLUS user/pass@instance_id @insert.sql
    insert.sql
    insert into 
    insert into 
    insert into 
    commit;
    至于你说的socket closed错误你把代码和错误信息简单贴一下,大伙再帮你解决。
      

  7.   

    个人感觉你写的bat脚本有问题,我在我的机器下试是行不通的。执行完sqlplus user/password连接数据库之后不会进行再执行insert插入,因为当前的环境已经切换到sqlplus下。建议写成:
    insert.bat
    SQLPLUS user/pass@instance_id @insert.sql
    insert.sql
    insert into 
    insert into 
    insert into 
    commit;
    至于你说的socket closed错误你把代码和错误信息简单贴一下,大伙再帮你解决。
      

  8.   

    好久没上网了
    抱歉,结贴完了
    最后也没有调查是啥原因,把执行sql语句的方式改了