用delphi写一个小工具,用来取得oracle指定DB的表结构和数据.
sqlstr := 'spool c:\woodlee.txt '+
          'select * from PCMS.WOODTEST; '+
          'spool off';
  OraSQL1.SQL.Clear;
  OraSQL1.SQL.Text := sqlstr;
  OraSQL1.Execute;执行时就出错,但在oracle的sql plus中
spool c:\test1.txt
select * from PCMS.WOODTEST;
spool off
执行是ok的.
请高手指点.
如果有好的方法,能够用来取得oracle指定DB的表结构和数据,也请赐教(不使用其他工具).

解决方案 »

  1.   

    用一个dataset连接该表
    然后
    Dataset.FieldDefs里面就有这个表定义
    包括name DataType Size=
      

  2.   

    你用ADOConnection对象执行语句试试看..
      

  3.   

    你的sql语句超过一句后,用orasql可能就有问题的,用OraSession控件试以下:OraSession1.ExecSQL('spool c:\woodlee.txt select * from PCMS.WOODTEST; spool off ;' ,[]) ;
      

  4.   

    ORACLE不支持多命令执行,在PLUS里面你执行通过也是因为他支持多命令执行而已,你分来来写就行了,ORC认为他是一条命令,所以错了。