2013-11-28 42 views
3

我似乎可以找到答案,這甚至在微軟的網站我使用這個:sp_OAMethod將向「的OpenTextFile」澄清

EXECUTE @RetCode = sp_OAMethod @FileSystem, 
'OpenTextFile', 
@FileHandle OUTPUT, 
@FilePath, 
8, 
1 

我想知道是什麼(1)壓軸的int參數做其他什麼有這個選項。我嘗試了2次,但沒有看到任何區別。

我知道第二個最後的int參數(8)指定了使用2寫入的附加vs,但不知道此參數的其他值。

回答

7

的sp_OAMethod將向正在執行的給定對象的方法,在此情況下是爲FileSystemObject 的OpenTextFile具有以該順序4個參數:

  1. 文件路徑 - 必需。要打開的文件的名稱
  2. 模式 - 可選。如何打開文件
    • 1 =閱讀 - 打開文件進行閱讀。你不能寫入這個文件。
    • 2 =寫入 - 打開文件進行寫入。
    • 8 =追加 - 打開文件並寫入文件末尾。
  3. 創建 - 可選。設置如果文件名不存在,是否可以創建新文件。 True表示可以創建新文件,False表示不會創建新文件。假是默認的。
  4. 格式 - 可選。文件格式
    • 0 = TristateFalse - 以ASCII格式打開文件。這是默認設置。
    • 1 = TristateTrue - 以Unicode格式打開文件。
    • 2 = TristateUseDefault - 使用系統默認值打開文件。

在你的情況(8)是Mode,和(1)是Create。 你可以閱讀更多關於它here

+0

非常感謝您的細分,並通過鏈接提供額外的信息。 – HelloWorld

+0

請注意,文件格式參數應爲NEGATIVE。請參閱文檔。我確認他們在SQL Server 2014上應該是負面的。 – DarrellNorton