2014-03-13 46 views
-1

我有一個小的vbscript來加載數據並使用sqlldr和sqlplus處理它。我有兩個關於sqlplus使用的問題:從命令行使用SQL * Plus

1)我可以在不使用.sql腳本文件的情況下執行存儲過程嗎? 例如sqlplus user/pass @ server @exec proc_myname

2)我可以在共享的UNC路徑上使用.sql腳本文件嗎? 例如sqlplus用戶/通過@服務器@ \服務器\路徑\ script.sql

我試過玩弄,目前正在解決這個問題通過使用本地臨時目錄來存儲sql文件。但我很好奇,如果有另一種/更好的方式。

感謝

回答

1

我可以Exec的,而無需使用.SQL腳本文件的存儲過程?

是的。我不太瞭解VisualBasic,但其基本原理是您創建sqlplus的子進程,然後通過stdin發送命令(即將腳本寫入子進程的標準輸入)。

我可以在共享的UNC路徑上使用.sql腳本文件嗎?

如果路徑是正確的,那麼應該工作。您也可以嘗試I/O重定向:

sqlplus user/[email protected] < \\server\path\script.sql 

此方法的缺點是錯誤消息不包含.sql腳本名稱。

+0

感謝您的回答,我沒有很好的UNC路徑,但我會繼續嘗試 - 只要我知道這是可能的我很樂意嘗試:) – Scottland

+0

也許代碼使用錯誤Windows API。你有沒有嘗試將共享映射到驅動器號? –