Sto cercando di capire come inserire un file .JPG in un campo del database SQL Server di tipo immagine utilizzando Transact SQL. Grazie.Come inserire JPEG in un campo del database di SQL Server 2000 di tipo di immagine utilizzando Transact SQL
8
A
risposta
9
Uso OPENROWSET:
INSERT MyTable (ImageColumnName)
SELECT BulkColumn FROM OPENROWSET (BULK 'c:\myjpeg.jpg', SINGLE_BLOB) AS X
CURA Ops, si sta usando 2000 - la soluzione precedente non è supportato. Devi usare 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'
2
C'è uno strumento chiamato textcopy.exe Lo si può trovare sotto MSSQL \ Binn o scarica con SQL Server 2000 SP4
Alexander Chigrik ha scritto un bel stored procedure per usinig con query SQL:
0
La stored procedure si trovano in questo tutorial ha lavorato per me:
è quello che ho provato a fare ma penso che sia la sintassi sql server 2005, non sembra funzionare nel 2000 – Kate