【问题标题】:Upload file in SQL database using BCP command使用 BCP 命令在 SQL 数据库中上传文件
【发布时间】:2020-04-12 03:27:03
【问题描述】:

我想将文件从文件所在的本地计算机保存到远程数据库中。我想使用 BCP 命令来实现这一点。如何实现?

我的查询类似于以下:

INSERT INTO ExcelFileUploadedData(
    Project, 
    SubProject, 
    LogicalName,FileName, 
    FileData) 

SELECT 
    'Sample',
    'Sample',
    'BP',
    '1.xls',
    * 
FROM OPENROWSET(BULK N'D:\File\File1.xls.zip', SINGLE_BLOB) rs

【问题讨论】:

  • 假设您只想将二进制文件存储在名为“FileData”的 varbinary(max) 字段中,这似乎是正确的语法。您收到什么错误?
  • 我不认为你可以实现这一点,因为使用 OPENROWSET 的 BULK 加载需要本地数据库服务器上的文件。

标签: sql-server bcp sqlbulkcopy


【解决方案1】:

你可以试试这个

    SET @TableQuery='CREATE TABLE [temp1](
             [Id] [int] IDENTITY(1,1) NOT NULL,
             Project [NVARCHAR(50)], 
             SubProject [NVARCHAR(50)], 
             LogicalName [NVARCHAR(50)],
             FileName [NVARCHAR(50)], 
             FileData [NVARCHAR(50)],
             CONSTRAINT [PK_temp1] PRIMARY KEY CLUSTERED 
             (
                [Id] ASC
              )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
              ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
                                                '
             EXEC(@TableQuery)  

             DECLARE @params NVARCHAR(max)
             SET @params = N'@uploadData SINGLE_BLOB readonly'

             SET @BulkInsertQuery =N'INSERT INTO [temp1] ( Project,            SubProject,LogicalName,FileName,FileData) 
select * from @uploadData';          
             print @BulkInsertQuery
             EXEC sp_executesql @BulkInsertQuery, @params, @uploadData

    // Enter Records from temp table into real table

             INSERT INTO ExcelFileUploadedData(
                Project, 
                SubProject, 
                LogicalName,FileName, 
                FileData) 
             SELECT 
                'Sample',
                'Sample',
                'BP',
                '1.xls',
                * 
         FROM [temp1]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-06
    相关资源
    最近更新 更多