2009-01-06 39 views

cevap

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

Listelenen yolun SQL Server'da (sorgulama makinesi değil) arandığını unutmamak önemlidir. Yani, SQL Server’ınız dev makine değilse, görüntünüzü SQL Server makinesinden geri döndürmeniz gerekir. – Vaccano

0

Tablo oluşturma:

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

Ekle deyimini:

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

Bu Sql Sorgu Çalışma İnce. bir kayıt güncelleme için

36

:

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

Notlar:

  • kullandığınız oturum için 'BULKADMIN' Rol İzinleri eklemek için emin olun.
  • SQL Server Management Studio'yu kullanırken yollar bilgisayarınıza işaret etmiyor. Yerel makinenizde SSMS'yi başlatırsanız ve X sunucusu üzerinde bir SQL Server örneğine bağlarsanız, C: \ photo.bmp dosyası sabit sürücüyü işaret edecektir: sunucu X'de, makinenizi değil!
+0

Görüntüm yerel olarak depolanıyorsa ve uzak DB'ye eklemek istiyorsam nasıl devam edebilirim? – Joze

+2

Bir ağ paylaşımını kullanın: UPDATE Çalışanları SET [Photo] = (SELECT MyImage. * Openrowset'den (Toplu '\\ your-machine-name \ Paylaşılan Klasör \ photo.bmp', Single_Blob) MyImage) nerede Id = 10 – mathijsuitmegen