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

Ger*_*orm 70 sql sql-server sql-server-2005 image

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

最重要的是,我如何验证它是否存在?

Dar*_*rov 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
Run Code Online (Sandbox Code Playgroud)

  • 请务必注意,在SQL Server(而不是查询计算机)上查找列出的路径.因此,如果您的SQL Server不是您的开发机器,则必须从SQL Server机器获取您的映像. (21认同)

mat*_*gen 39

要更新记录:

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

笔记:

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

  • 使用网络共享:UPDATE Employees SET [Photo] =(从Openrowset中选择MyImage.*(批量'\\ your-machine-name\Shared Folder\photo.bmp',Single_Blob)MyImage)其中Id = 10 (2认同)