【发布时间】:2010-11-15 21:56:04
【问题描述】:
我试图弄清楚如何使用 Transact SQL 将 .JPG 文件插入到图像类型的 SQL Server 2000 数据库字段中。谢谢。
【问题讨论】:
标签: tsql image sql-server-2000 insert-update
我试图弄清楚如何使用 Transact SQL 将 .JPG 文件插入到图像类型的 SQL Server 2000 数据库字段中。谢谢。
【问题讨论】:
标签: tsql image sql-server-2000 insert-update
本教程中找到的存储过程对我有用:
【讨论】:
有一个工具叫 textcopy.exe 您可以在 MSSQL\Binn 下找到它或使用 SQL Server 2000 SP4 获取它
Alexander Chigrik 为使用 SQL 查询编写了一个不错的存储过程:
【讨论】:
使用 OPENROWSET:
INSERT MyTable (ImageColumnName)
SELECT BulkColumn FROM OPENROWSET (BULK 'c:\myjpeg.jpg', SINGLE_BLOB) AS X
已编辑 糟糕,您使用的是 2000 - 不支持以前的解决方案。您必须使用 WRITETEXT:
CREATE TABLE MyTable
(
ID INT PRIMARY KEY IDENTITY (1,1),
ImageColumnName IMAGE NULL
)
GO
-- must insert a dummy value into the image column for TEXTPTR
-- to work in next bit
DECLARE @RowId INT
INSERT MyTable (ImageColumnName) VALUES (0xFFFFFFFF)
SELECT @RowId = SCOPE_IDENTITY()
-- get a pointer value to the row+column you want to
-- write the image to
DECLARE @Pointer_Value varbinary(16)
SELECT @Pointer_Value = TEXTPTR(ImageColumnName)
FROM MyTable
WHERE Id = @RowId
-- write the image to the row+column pointer
WRITETEXT MyTable.ImageColumnName @Pointer_Value 'c:\myjpeg.jpg'
【讨论】: