如何使用TSQL将文件上载到SQL Server 2008中的varbinary(max)列?

chu*_*nce 15 sql sql-server

这一定是可能的,因为我相信我之前已经做过了.这是我的查询:

insert into exampleFiles Values(NEWID(), cast('c:\filename.zip' as varbinary(max))
Run Code Online (Sandbox Code Playgroud)

显然,只需在引号之间插入文本,而不是从该位置插入文件.必须有一个我忘记的简单的tsql语言.谢谢

dcp*_*dcp 32

这有帮助吗?

USE AdventureWorks
GO
CREATE TABLE myTable(FileName nvarchar(60),
  FileType nvarchar(60), Document varbinary(max))
GO

INSERT INTO myTable(FileName, FileType, field_varbinary)
   SELECT 'Text1.txt' AS FileName,
      '.txt' AS FileType,
      * FROM OPENROWSET(BULK N'C:\Text1.txt', SINGLE_BLOB) AS Document
GO
Run Code Online (Sandbox Code Playgroud)

取自这里:http: //social.msdn.microsoft.com/Forums/en-US/sqltools/thread/513cbf8c-21a8-4bcc-a565-6eb06437a398

  • 应该提到的是,OpenRowSet函数中的列具有名称BulkColumn.因此,您可以在查询中使用document.BulkColumn而不是*. (2认同)