代码之家  ›  专栏  ›  技术社区  ›  Randy Minder

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

  •  4
  • Randy Minder  · 技术社区  · 15 年前

    我有一张如下的桌子。如果可以避免的话,我并不想创建一个C应用程序来向这个表中插入行,因为VarBinary列。我的目的是在本专栏中存储一个Crystal report.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 回复  |  直到 15 年前
        1
  •  9
  •   Martin Smith    15 年前

    你可以把它变成一个变量,比如

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

    然后可以在insert语句中使用