Einfügen von JPEG in ein SQL Server 2000 -Datenbankfeld des Bildtyps mit Transact SQL
-
06-07-2019 - |
Frage
Ich versuche herauszufinden, wie man eine .JPG -Datei in ein SQL Server 2000 -Datenbankfeld vom Typ Typ mit Transact SQL einfügt. Vielen Dank.
Lösung
Verwenden Sie OpenRowset:
INSERT MyTable (ImageColumnName)
SELECT BulkColumn FROM OPENROWSET (BULK 'c:\myjpeg.jpg', SINGLE_BLOB) AS X
Bearbeitet Hoppla, Sie verwenden 2000-die vorherige Lösung wird nicht unterstützt. Sie müssen WriteText verwenden:
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'
Andere Tipps
Es gibt ein Tool namens textCopy.exe Sie finden es unter MSSQL Binn oder mit SQL Server 2000 SP4 ab
Alexander Chigrik schrieb ein nettes gespeichertes Verfahren für usinig it mit SQL -Abfrage:
Das in diesem Tutorial gefundene gespeicherte Verfahren funktionierte für mich:
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow