sp_OAMethod'OpenTextFile'澄清

Hel*_*rld 4 sql sql-server-2008

即使在我使用的Microsoft网站上,我似乎也能找到答案:

EXECUTE @RetCode = sp_OAMethod @FileSystem, 
 'OpenTextFile',
 @FileHandle OUTPUT,
 @FilePath,
 8,
 1
Run Code Online (Sandbox Code Playgroud)

我想知道结局int参数(1)的作用以及有什么其他选项.我试验并使用了2但没有看到任何差异.

我知道第二个最后一个int参数(8)指定了一个追加vs使用2写,但也不知道该参数的其他值.

小智 10

sp_OAMethod正在执行给定对象的方法,在这种情况下,FileSystemObject OpenTextFile按此顺序有4个参数:

  1. FilePath - 必需.要打开的文件的名称
  2. 模式 - 可选.如何打开文件
    • 1 =阅读 - 打开文件进行阅读.你不能写这个文件.
    • 2 =写作 - 打开文件进行写作.
    • 8 =附加 - 打开文件并写入文件末尾.
  3. 创建 - 可选.设置如果文件名不存在,是否可以创建新文件.True表示可以创建新文件,False表示不会创建新文件.假是默认的.
  4. 格式 - 可选.文件的格式
    • 0 = TristateFalse - 以ASCII格式打开文件.这是默认值.
    • 1 = TristateTrue - 以Unicode格式打开文件.
    • 2 = TristateUseDefault - 使用系统默认值打开文件.

在你的情况下(8)是Mode,和(1)是Create.你可以在这里阅读更多相关信息.