代码如下,执行的时候提示错误,      
        memo1.Lines.Add('正在更新XDSL数据,请稍候...');
        StoredProc1.Close;
        StoredProc1.DatabaseName := ora9.DatabaseName;
        StoredProc1.StoredProcName := 'PROC_DAY_REPORT_XDSL_UP';        try
      
        StoredProc1.Prepare;
        StoredProc1.ExecProc;
        memo1.Lines.Add('XDSL数据更新完毕,可以查询!');
        except
        memo1.Lines.Add('存储过程PROC_DAY_REPORT_XDSL_UP出错');
        application.MessageBox('存储过程PROC_DAY_REPORT_XDSL_UP出错','出错',64);
        end;

解决方案 »

  1.   

    存储过程没有任何问题,是正确的。前面这段代码还能执行,我换了一下地方就不能执行了。
    错误提示
        Access violation at address 606C26C5 in module 'OraClient9.dll'.Read of address 00000000请指教
      

  2.   

    我发现是这样的,不知道为什么
    每次程序运行的时候,我先用toad把存储过程编译一下,程序就可以执行了,如果不编译就出错,每次都要这样,为什么啊
    我要怎么做才能使程序正常运行而不用每次去手工编译存储过程呢?
      

  3.   

    用了prepare了,还是一样,Toad是oracle的工具
    如果我全部编译完了再运行程序也提示出错
    一共有三个这样的存储过程在我的程序中调用
    第一调用出错提示的时候,我赶快在toad中编译下一个,确定后程序就能执行第二个存储过程,可是到第三个的时候就又出错了。每次都这样。真搞不懂啊
    哪位大侠指点一二
      

  4.   

    你调试下自己的存储过程吧,对oracle的用法不熟悉,况且你的情况,我们也没有什么可以用来判断的信息.