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.

War es hilfreich?

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:

http://www.mssqlcity.com/articles/knowhow/textcopy.htm

Das in diesem Tutorial gefundene gespeicherte Verfahren funktionierte für mich:

Kurzes Tutorial über Text, NTEXT und Bild

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top