目的;执行目录下的所有存储过程
源码:
create table #(a varchar(100))
declare @sql varchar(1000),@a varchar(100)
exec master..xp_cmdshell 'dir /B c:\*.sql >c:tmp.txt'
c:\aaa\bbb下所有的sql文件名
INSERT # SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0', 'Text;HDR=no;DATABASE=c:\',tmp#txt)
declare cur cursor for select a from #
open cur
fetch next from cur into @a
while @@fetch_status=0
begin
set @sql='osql /S www-705 /U sa /P 123 /i c:\'+@a
exec master..xp_cmdshell @sql
end
close cur
deallocate cur
drop table #
问题:未能处理对象 'tmp#txt'。OLE DB 提供程序 'MICROSOFT.JET.OLEDB.4.0' 指出该对象中没有任何列。
OLE DB 错误跟踪[Non-interface error: OLE DB provider unable to process object, since the object has no columnsProviderName='MICROSOFT.JET.OLEDB.4.0', Query=tmp#txt']。
源码:
create table #(a varchar(100))
declare @sql varchar(1000),@a varchar(100)
exec master..xp_cmdshell 'dir /B c:\*.sql >c:tmp.txt'
c:\aaa\bbb下所有的sql文件名
INSERT # SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0', 'Text;HDR=no;DATABASE=c:\',tmp#txt)
declare cur cursor for select a from #
open cur
fetch next from cur into @a
while @@fetch_status=0
begin
set @sql='osql /S www-705 /U sa /P 123 /i c:\'+@a
exec master..xp_cmdshell @sql
end
close cur
deallocate cur
drop table #
问题:未能处理对象 'tmp#txt'。OLE DB 提供程序 'MICROSOFT.JET.OLEDB.4.0' 指出该对象中没有任何列。
OLE DB 错误跟踪[Non-interface error: OLE DB provider unable to process object, since the object has no columnsProviderName='MICROSOFT.JET.OLEDB.4.0', Query=tmp#txt']。
---------------------------------
SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0', 'Text;HDR=no;DATABASE=c:\',[tmp#txt]) orselect *
from opendatasource('microsoft.jet.oledb.4.0','Text;hdr=yes;database=c:\')...[tmp#txt]