SQL Server - 如何插入Varbinary(Max)列?

时间:2010-08-03 14:27:16

标签: sql-server tsql

我的表格如下所示。我真的不想创建一个C#应用程序来在这个表中插入行,如果我可以避免它,因为VarBinary列。我的目的是在此列中存储Crystal报告.RPT文件。是否有一个T-SQL语句可以执行以将行插入/更新到此表中,并包含.RPT文件?

CREATE TABLE [Report].[MesReport](
    [MesReportID] [int] IDENTITY(1,1) NOT NULL,
    [ParentID] [int] NOT NULL,
    [ReportTitle] [nvarchar](80) NOT NULL,
    [ReportName] [nvarchar](80) NOT NULL,
    [DatabaseServer] [nvarchar](80) NOT NULL,
    [DatabaseName] [nvarchar](50) NOT NULL,
    [Login] [nvarchar](80) NOT NULL,
    [ReportFile] [varbinary](max) NULL,

1 个答案:

答案 0 :(得分:9)

你可以把它变成像

这样的变量
DECLARE @VB varbinary(max)
SELECT @VB =BulkColumn FROM OPENROWSET(BULK
     N'C:\YourReport.rpt', SINGLE_BLOB) AS Document

然后您可以在插入语句中使用