本文建立的儲存過程,採用了 as
declare @filesystem int
declare @filehandle int
declare @retcode int
declare @retval int
execute @retcode = sp_oacreate 'scripting.filesystemobject' , @filesystem output
if (@@error|@retcode > 0 or @filesystem < 0)
raiserror ('could not create filesystemobject',16,1)
execute @retcode = sp_oamethod @filesystem , 'fileexists', @retval out, @filename
if (@@error|@retcode > 0)
raiserror ('could not check file existence',16,1)
if (@@error|@retcode > 0 or @filehandle < 0)
raiserror ('could not create file',16,1)
execute @retcode = sp_oamethod @filehandle , 'writeline' , null , @text
if (@@error|@retcode > 0 )
raiserror ('could not write to file',16,1)
execute @retcode = sp_oamethod @filehandle , 'close'
if (@@error|@retcode > 0)
raiserror ('could not close file ',16,1)
exec sp_oadestroy @filehandle
if (@@error|@retcode > 0)
raiserror ('could not destroy file object',16,1)
exec sp_oadestroy @filesystemgo
呼叫 :
但還需要注意乙個問題,上述語句,需要啟用 ole automation procedures
這裡,詳細可看
以下示例顯示了如何檢視 ole automation procedures 的當前設定。
exec sp_configure 'ole automation procedures';
(注,未設定前,可能執行報錯)
以下示例顯示了如何啟用 ole automation procedures。
sp_configure 'show advanced options', 1;
reconfigure;
sp_configure 'ole automation procedures', 1;
reconfigure;
(注,這四條語句,需要一條一條的執行,執行完畢後,可以執行檢視語句) 寫MySQL儲存過程實現動態執行SQL
儲存過程名和引數,引數中in表示傳入引數,out標示傳出引數,inout表示傳入傳出引數 create procedure p procedurecode in sumdate varchar 10 begin declare v sql varchar 500 需要執行的sql語句 declare...
寫MySQL儲存過程實現動態執行SQL
儲存過程名和引數,引數中in表示傳入引數,out標示傳出引數,inout表示傳入傳出引數 create procedure p procedurecode in sumdate varchar 10 begin declare v sql varchar 500 需要執行的sql語句 declare...
寫MySQL儲存過程實現動態執行SQL
儲存過程名和引數,引數中in表示傳入引數,out標示傳出引數,inout表示傳入傳出引數 create procedure p procedurecode in sumdate varchar 10 begin declare v sql varchar 500 需要執行的sql語句 declare...