sql - 如何将音频插入 SQL Server

标签 sql sql-server

Insert Into [dbo].[Letterland] ([letter],[letterImage])
   Select 'a', BulkColumn,
   From Openrowset (bulk 'H:\Data\D\ll-image\annie.png', Single_blob) as img 

Insert Into [dbo].[Letterland] ([letterDescAudio])
    Select 'a', BulkColumn, BulkColumn
   From Openrowset (bulk 'H:\Data\D\11-image\aa.wav' Single_blob) as img 

Insert Into [dbo].[Letterland] ([letterSound])
    Select 'a', BulkColumn, BulkColumn
   From Openrowset (bulk 'H:\Data\D\ll-image\a.wav', Single_blob) as img 

这是我尝试过的,但我知道这是不正确的。我正在尝试将数据作为单行插入。

[dbo].[Letterland] ([Letter], [letterImage], [letterDescAudio],  [letterSound])

最佳答案

好吧,您需要先将三个 blob 加载到变量中,然后执行单个 INSERT 将它们全部插入到您的表中 - 如下所示:

-- declare a VARBINARY(MAX) variable to hold the "image"
DECLARE @Image VARBINARY(MAX)

-- load the "image"
SELECT @Image = BulkColumn,
FROM Openrowset (bulk 'H:\Data\D\ll-image\annie.png', Single_blob) as img 

-- declare a VARBINARY(MAX) variable to hold the "Desc Audio" and load it
DECLARE @DescAudio VARBINARY(MAX)

SELECT @DescAudio = BulkColumn
FROM Openrowset (bulk 'H:\Data\D\11-image\aa.wav' Single_blob) as img 

-- declare a VARBINARY(MAX) variable to hold the "Sound" and load it
DECLARE @Sound VARBINARY(MAX)

SELECT @Sound = BulkColumn
FROM Openrowset (bulk 'H:\Data\D\ll-image\a.wav', Single_blob) as img 

-- now do the INSERT with all bits ready to go    
INSERT INTO dbo.Letterland (letter, letterImage, letterDescAudio, letterSound)
VALUES ('a', @Image, @DescAudio, @Sound)

关于sql - 如何将音频插入 SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29998153/

相关文章:

php - 优化 mysql 数据库 - 任务列表耗尽了我的服务器

sql - 在 Oracle BIND 变量中声明多个值

sql-server - SQL Server 2017 快速安装失败

sql-server - Azure SQL Server 导入导出响应错误 SQL72014 : .Net SqlClie

sql-server - SQL Server 2005 和 SQL Server 2008 之间是否存在冲突?

SQL Group by 和 concat

mysql - MYSQL 新增,INSERT INTO 'Table' 语法错误

sql - CASE WHEN NULL 在 SQLite 中产生错误结果?

sql - 从字符串中选择列

c# - 使用 C# 检索 SQL Server 父/子查询结果