SQL>spool c:\aa.log
SQL>@test.sql "mItem"
SQL>spool off
SQL>@test.sql "mItem"
SQL>spool off
解决方案 »
- 数据导入导出求助
- 问个v$flash_recovery_area_usage的问题
- 求大神帮忙。。。。。!!
- 关于使用dbca创建数据库问题
- 怎样将数据库表中的数据通过PSTN或DDN导入远程数据库服务器?
- Join的上限
- 如何将一台机子上的oracle数据库复制到另一台机子上去.
- oracle下载多大?要啥机器能运行?有盗版的吗???
- 启动OracleOraHome81ManagementServer时出现“重叠I/O重复进行中”?
- 十万火急!
- java.sql.SQLException: ORA-01000: 超出打开游标的最大数?(应该怎么解决)
- ERROR:ORA-12541:TNS:没有监听器
C:\test\test.bat内容:
sqlplus 用户名/密码@数据库sid @c:\test\sql.txt <---用自己的信息代替C:\test\sql.txt内容:
spool c:\test\test.log
select * from testa;
spool off
VB中的代码:
Private Sub Command1_Click()
Dim RetVal
RetVal = Shell("C:\test\test.bat", 1)
End Sub运行VB程序,点command1按钮,然后将在c:\test\生成test.log文件,内容:表testa中的数据;
非常感谢,我试了一下你的方法,ok,通过,呵呵!
但是现在有一个问题还想请教:我现在有3个.sql文件(1.sql,2.sql,3.sql)要执行,并出log。我现在是这么写的:start.sql内容:
spool c:\aa.log
/end.sql内容:
spool off
/shell.bat内容:
SQLPLUS 用户名/密码@数据库sid @start
SQLPLUS 用户名/密码@数据库sid @1 "参数"
SQLPLUS 用户名/密码@数据库sid @2 "参数"
SQLPLUS 用户名/密码@数据库sid @3 "参数"
SQLPLUS 用户名/密码@数据库sid @end然后运行shell.bat,此时无法通过,不知道哪里写法不对阿?
在Oracle中提供了文件操作的包 utl_file ,可以使用这个保重的方法打开文件,向文件中写入所需信息,在关闭文件,这才是我认为正确的处理方式。utl_file.fopen(location in varchar2,filename in varchar2,open_mode in varchar2)
fclose(dile_handle in out file_type)
utl_file.put_line(file_handle in file_type, buffer in varchar2)
例子:set serveroutput on;
declare
strdwdm varchar2(20);
strdwmc varchar2(20);
myfile utl_file.file_type;
cursor mycs is select dwdm,dwmc from bjxt.gg_zd_dw where dwdm like 'hhh%';
begin
open mycs;
myfile:=utl_file.fopen('MYDIR','mydwdm.txt','w');//其中MYDIR是一个Oracle的路径对象,使用 create diretory MYDIR 'c:\aa';
utl_file.put_line(myfile,'单位代码: 单位名称:');
fetch mycs into strdwdm,strdwmc;
while mycs%found loop
utl_file.put_line(myfile,strdwdm || ' ' || strdwmc);
fetch mycs into strdwdm,strdwmc;
end loop;
close mycs;
utl_file.fclose(myfile);
end;
spool c:\test\test.log
select * from testa;
select * from testb;
select * from testc c where c.id=6;
...
spool off
我的sql文不是直接写的,都是存成了.sql文件的,所以不知道怎么写了?我的写法:
现在有3个.sql文件(1.sql,2.sql,3.sql)要执行,并出log。start.sql内容:
spool c:\aa.log
/end.sql内容:
spool off
/shell.bat内容:
SQLPLUS 用户名/密码@数据库sid @start
SQLPLUS 用户名/密码@数据库sid @1 "参数"
SQLPLUS 用户名/密码@数据库sid @2 "参数"
SQLPLUS 用户名/密码@数据库sid @3 "参数"
SQLPLUS 用户名/密码@数据库sid @end
用utl_file包出错阿,提示我定义myfile utl_file.file_type出错。而且sql文都是客户给的,不能随便改阿!倒霉的阿!现在就是有3个写好的sql文文件(1.sql,2.sql,3.sql),里面不是select操作,而是一些比较表结构的操作,现在就是要把3个sql文件的执行结果输出到另外一个log文件中!
spool c:\test\test.log
3个sql的内容呀
spool off这样不可以吗