Ich versuche herauszufinden, wie Sie eine .JPG-Datei in ein SQL Server 2000-Datenbankfeld vom Typ Image mithilfe von Transact SQL einfügen. Vielen Dank.Wie Sie JPEG in ein SQL Server 2000-Datenbankfeld vom Image-Typ mithilfe von Transact SQL einfügen
Q
Wie Sie JPEG in ein SQL Server 2000-Datenbankfeld vom Image-Typ mithilfe von Transact SQL einfügen
8
A
Antwort
9
Verwendung OPENROWSET:
INSERT MyTable (ImageColumnName)
SELECT BulkColumn FROM OPENROWSET (BULK 'c:\myjpeg.jpg', SINGLE_BLOB) AS X
Whoops EDITED, Sie verwenden 2000 - die bisherige Lösung nicht unterstützt wird. Sie müssen verwenden WRITE:
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'
2
Es gibt ein Werkzeug textcopy.exe genannt ist Sie können es unter MSSQL \ Binn finden oder mit SQL Server 2000 SP4
Alexander Chigrik eine schöne gespeicherte Prozedur erhalten schrieb für usinig es mit SQL-Abfrage:
0
Die gespeicherte Prozedur in diesem Tutorial gefunden arbeitet für mich:
das ist, was ich versuchte, aber ich denke, es ist SQL Server 2005 Syntax, scheint nicht im Jahr 2000 zu arbeiten – Kate