日期:2014-05-17  浏览次数:20707 次

bat执行oracle文件问题
bat执行oracle的建立函数的sql文件,语句如下:

@echo off
echo "执行脚本,进行中..."
sqlplus [name]/[password]@db @D:\\todate.SQL > log.txt
echo "按任意键结束... "
pause>nul 
exit

todate.SQL文件如下:

create or replace function todate( strdate  varchar2) 
return date 
is
  Result date;

begin

  Result := TO_DATE(strdate,'YYYY-MM-DD HH24:MI:SS');
  return(Result);

end todate;

双击bat log.txt文件显示内容:


SQL*Plus: Release 11.2.0.1.0 Production on 星期四 7月 11 10:02:40 2013

Copyright (c) 1982, 2010, Oracle.  All rights reserved.


连接到: 
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

 10  

这是怎么回事,sql文件不对吗?建立函数的语句在sqldevdloper里执行是可以的
Oracle bat

------解决方案--------------------
刷函数的时候,最好增加下面两句

/

show errors;
------解决方案--------------------
楼主可以试试在sqlplus建存储过程,必须“/”结束