仅使用SQL将图片插入SQL Server 2005图像字段

时间:2009-01-06 15:06:23

标签: sql sql-server sql-server-2005 image

使用SQL Server 2005和Management Studio如何将图片插入表格的Image类型列?

最重要的是如何验证它是否在那里?

4 个答案:

答案 0 :(得分:92)

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

答案 1 :(得分:39)

更新记录:

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

备注:

  • 确保为您正在使用的登录添加“BULKADMIN”角色权限。
  • 使用SQL Server Management Studio时,路径未指向您的计算机。如果您在本地计算机上启动SSMS并连接到服务器X上的SQL Server实例,则文件C:\ photo.bmp将指向服务器X上的硬盘驱动器C:而不是您的计算机!

答案 2 :(得分: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查询工作正常。

答案 3 :(得分:0)

我实现了将多个图像插入数据库的目标

INSERT INTO [dbo].[User]
           ([Name]
           ,[Image1]
           ,[Age]
           ,[Image2]
           ,[GroupId]
           ,[GroupName])
           VALUES
           ('Umar'
           , (SELECT BulkColumn 
            FROM Openrowset( Bulk 'path-to-file.jpg', Single_Blob) as Image1)
           ,26
           ,(SELECT BulkColumn 
            FROM Openrowset( Bulk 'path-to-file.jpg', Single_Blob) as Image2)
            ,'Group123'
           ,'GroupABC')