كيفية إدراج JPEG في حقل قاعدة بيانات SQL Server 2000 لنوع الصورة باستخدام Transact SQL

StackOverflow https://stackoverflow.com/questions/1214462

سؤال

أحاول معرفة كيفية إدراج ملف .JPG في حقل قاعدة بيانات SQL Server 2000 من نوع الصورة باستخدام Transact SQL.شكرًا.

هل كانت مفيدة؟

المحلول

استخدم اوبن روسيت:

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 إجراءً مخزنًا رائعًا لاستخدامه مع استعلام SQL:

http://www.mssqlcity.com/Articles/KnowHow/Textcopy.htm

والإجراء المخزن وجدت في هذا البرنامج التعليمي عملت لي:

تعليمي موجز عن النص أو ntext، و صورة

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top