Tsql 如何使用Transact-SQL将JPEG插入图像类型的SQL Server 2000数据库字段

Tsql 如何使用Transact-SQL将JPEG插入图像类型的SQL Server 2000数据库字段,tsql,image,sql-server-2000,insert-update,Tsql,Image,Sql Server 2000,Insert Update,我正在尝试了解如何使用Transact-SQL将.JPG文件插入到类型为image的SQL Server 2000数据库字段中。谢谢。使用OPENROWSET: INSERT MyTable (ImageColumnName) SELECT BulkColumn FROM OPENROWSET (BULK 'c:\myjpeg.jpg', SINGLE_BLOB) AS X 已编辑哎呀,您正在使用2000--不支持以前的解决方案。您必须使用WRITETEXT: CREATE TABLE My

我正在尝试了解如何使用Transact-SQL将.JPG文件插入到类型为image的SQL Server 2000数据库字段中。谢谢。

使用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'

有一个名为textcopy.exe的工具 您可以在MSSQL\Binn下找到它,也可以使用SQL Server 2000 SP4获取它

Alexander Chigrik编写了一个很好的存储过程,用于将it与SQL查询结合使用:


本教程中的存储过程适用于我:


这正是我试图做的,但我认为这是sql server 2005语法,在2000年似乎不起作用