2009-01-06 37 views

Respuesta

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

Es importante tener en cuenta que la ruta de acceso se busca en el servidor SQL (no en la máquina que realiza la consulta). Entonces, si su SQL Server no es su máquina de desarrollo, tendrá que hacer que su imagen se pueda consultar desde la máquina de SQL Server. – Vaccano

0

crear tabla: declaración

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

Insertar:

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

Esta fina de Trabajo de consultas SQL.

36

Para actualizar un registro:

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

Notas:

  • asegúrese de agregar permisos de función del 'bulkadmin' para el inicio de sesión que está utilizando.
  • Las rutas no apuntan a su computadora cuando se usa SQL Server Management Studio. Si inicia SSMS en su máquina local y se conecta a una instancia de SQL Server en el servidor X, el archivo C: \ photo.bmp apuntará al disco duro C: en el servidor X, ¡no a su máquina!
+0

¿Cómo puedo proceder si mi imagen se almacena localmente y quiero insertarla en la base de datos remota? – Joze

+2

Utilizar un recurso compartido de red: ACTUALIZAR Empleados SET [Foto] = (SELECCIONAR MiImagen. * De Openrowset (a granel '\\ tu-nombre-de-máquina \ Carpeta Compartida \ photo.bmp', Single_Blob) MyImage) donde Id = 10 – mathijsuitmegen

Cuestiones relacionadas