2009-01-06 11 views
64

का उपयोग कर SQL सर्वर 2005 और प्रबंधन स्टूडियो का उपयोग करके चित्र को सम्मिलित करें मैं एक तालिका के Image प्रकार कॉलम में एक तस्वीर कैसे डालूं?एसक्यूएल सर्वर 2005 छवि फ़ील्ड में केवल SQL

सबसे महत्वपूर्ण बात अगर यह नहीं है कि मैं कितना सत्यापित करूँ?

उत्तर

86
CREATE TABLE Employees 
(
    Id int, 
    Name varchar(50) not null, 
    Photo varbinary(max) not null 
) 


INSERT INTO Employees (Id, Name, Photo) 
SELECT 10, 'John', BulkColumn 
FROM Openrowset(Bulk 'C:\photo.bmp', Single_Blob) as EmployeePicture 
+20

यह ध्यान रखना महत्वपूर्ण है कि सूचीबद्ध पथ SQL सर्वर (क्वेरीिंग मशीन नहीं) पर देखा जाता है। इसलिए यदि आपके एसक्यूएल सर्वर अपने देव मशीन नहीं है आप अपनी छवि एसक्यूएल सर्वर मशीन से referable प्राप्त करना होगा। – Vaccano

0

टेबल बनाएं: बयान

Create Table EmployeeProfile ( 
    EmpId int, 
    EmpName varchar(50) not null, 
    EmpPhoto varbinary(max) not null) 
Go 

सम्मिलित:

Insert EmployeeProfile 
    (EmpId, EmpName, EmpPhoto) 
    Select 1001, 'Vadivel', BulkColumn 
    from Openrowset(Bulk 'C:\Image1.jpg', Single_Blob) as EmployeePicture 

यह SQL क्वेरी कार्य ठीक।

36

एक रिकॉर्ड को अपडेट करने के लिए:

UPDATE Employees SET [Photo] = (SELECT 
MyImage.* from Openrowset(Bulk 
'C:\photo.bmp', Single_Blob) MyImage) 
where Id = 10 

नोट्स:

  • लॉगिन प्रयोग कर रहे हैं के लिए 'BULKADMIN' भूमिका की अनुमतियां जोड़ने के लिए सुनिश्चित करें।
  • पथ एसक्यूएल सर्वर प्रबंधन स्टूडियो का उपयोग करते समय आपके कंप्यूटर की ओर इशारा करते नहीं हैं। आप अपने स्थानीय मशीन पर SSMS शुरू करने और सर्वर एक्स पर एक एसक्यूएल सर्वर उदाहरण से कनेक्ट करते हैं, तो फ़ाइल C: \ photo.bmp हार्ड ड्राइव सी को इंगित करेंगे: सर्वर एक्स पर नहीं, बल्कि आपके मशीन!
+0

मैं कैसे आगे बढ़ सकते हैं मेरी छवि स्थानीय रूप से संग्रहीत किया जाता है और मैं दूरस्थ डीबी में सम्मिलित करना चाहते हैं? ((बल्क 'अपने-मशीन-नाम \ साझा फ़ोल्डर \ photo.bmp \\', Single_Blob) MyImage OPENROWSET से MyImage का चयन करें। *) जहां आईडी = 10 अद्यतन कर्मचारियों SET [फोटो] =: – Joze

+2

एक साझा नेटवर्क का उपयोग करें – mathijsuitmegen