- [VB.NET] Chia sẻ source code lịch âm dương và hẹn lịch nhắc việc
- [C#] Hướng dẫn đọc thông số thiết bị Thiết bị kiểm tra Pin (HIOKI BATTERY HiTESTER BT3562)
- [VB.NET] Hướng dẫn giải captcha sử dụng dịch vụ AZCaptcha API trên winform
- [C#] Hướng dẫn chứng thực đăng nhập ứng dụng bằng vân tay (Finger Print) trên máy tính
- [C#] Color Thief cách xuất màu sắc thiết kế từ hình ảnh
- [C#] Cách tạo bản quyền và cho phép dùng thử ứng dụng Winform
- [C#] Hướng dẫn sử dụng trình duyệt web Chrome convert HTML sang tập tin file PDF
- [C#] Kết nôi điện thoại Android, IOS với App Winform via Bluetooth
- [DATABASE] Cách query cộng trừ dồn dần trong Sqlserver
- [C#] Thiết kế ứng dụng Console đẹp với thư viện Spectre.Console
- [C#] Thiết kế ứng dụng Single Instance và đưa ứng dụng lên trước nếu kiểm tra ứng dụng đang chạy
- [C#] Giới thiệu JSON Web Token và cách đọc chuỗi token
- [C#] Cách tăng giảm font chữ tất cả các control trên winform
- [DEVEXPRESS] Tích hợp chức năng Tìm kiếm Search vào CheckedComboboxEdit
- [C#] Gởi email Metting Calendar Reminder kèm nhắc thời gian lịch họp
- [C#] Tìm kiếm xem danh sách từ khóa có tồn tại trong đoạn văn bản hay không
- [C#] Thiết kế giao diện ứng dụng trên Console sử dụng thư viện Terminal.Gui
- [C#] Hướng dẫn tạo mã VietQR Payment API Winform
- [C#] Sử dụng thư viện BenchmarkDotNet đo hiệu năng của hảm Method
- [DEVEXPRESS] Tìm kiếm không dấu tô màu highlight có dấu trên C# Winform
[DATABASE] Hướng dẫn import và export hình ảnh image từ Sqlserver
Xin chào các bạn, bài viết hôm nay mình sẻ hướng dẫn các bạn cách import và export hình ảnh trong cơ sở dữ liệu sqlserver.
[DATABASE] Simple Import and Export Image in SQL SERVER
Đầu tiên, các bạn tạo 1 table Pictures, để lưu trữ 3 thông tin sau
- Tên file ảnh
- Đường dẫn hình ảnh
- Data binary của hình ảnh
CREATE TABLE Pictures (
pictureName NVARCHAR(40) PRIMARY KEY NOT NULL
, picFileName NVARCHAR (100)
, PictureData VARBINARY (max)
)
GO
Tiếp đến, bạn cần phân quyền truy cập vào OLE Automation Procedures, các bạn chạy câu lệnh SQL bên dưới.
Use master
Go
EXEC sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
EXEC sp_configure 'Ole Automation Procedures', 1;
GO
RECONFIGURE;
GO
ALTER SERVER ROLE [bulkadmin] ADD MEMBER [Enter here the Login Name that will execute the Import]
GO
1. Tạo procedure để import hình ảnh vào sqlserver
CREATE PROCEDURE dbo.usp_ImportImage (
@PicName NVARCHAR (100)
, @ImageFolderPath NVARCHAR (1000)
, @Filename NVARCHAR (1000)
)
AS
BEGIN
DECLARE @Path2OutFile NVARCHAR (2000);
DECLARE @tsql NVARCHAR (2000);
SET NOCOUNT ON
SET @Path2OutFile = CONCAT (
@ImageFolderPath
,'\'
, @Filename
);
SET @tsql = 'insert into Pictures (pictureName, picFileName, PictureData) ' +
' SELECT ' + '''' + @PicName + '''' + ',' + '''' + @Filename + '''' + ', * ' +
'FROM Openrowset( Bulk ' + '''' + @Path2OutFile + '''' + ', Single_Blob) as img'
EXEC (@tsql)
SET NOCOUNT OFF
END
GO
2. Tiếp tục, tạo mới một procedure để xuất hình ảnh từ sql ra folder
CREATE PROCEDURE dbo.usp_ExportImage (
@PicName NVARCHAR (100)
,@ImageFolderPath NVARCHAR(1000)
,@Filename NVARCHAR(1000)
)
AS
BEGIN
DECLARE @ImageData VARBINARY (max);
DECLARE @Path2OutFile NVARCHAR (2000);
DECLARE @Obj INT
SET NOCOUNT ON
SELECT @ImageData = (
SELECT convert (VARBINARY (max), PictureData, 1)
FROM Pictures
WHERE pictureName = @PicName
);
SET @Path2OutFile = CONCAT (
@ImageFolderPath
,'\'
, @Filename
);
BEGIN TRY
EXEC sp_OACreate 'ADODB.Stream' ,@Obj OUTPUT;
EXEC sp_OASetProperty @Obj ,'Type',1;
EXEC sp_OAMethod @Obj,'Open';
EXEC sp_OAMethod @Obj,'Write', NULL, @ImageData;
EXEC sp_OAMethod @Obj,'SaveToFile', NULL, @Path2OutFile, 2;
EXEC sp_OAMethod @Obj,'Close';
EXEC sp_OADestroy @Obj;
END TRY
BEGIN CATCH
EXEC sp_OADestroy @Obj;
END CATCH
SET NOCOUNT OFF
END
GO
Ví dụ: Bạn có một hình Dargon.jpg bên dưới đây
Để import vào sqlserver, các bạn thực hiện lệnh sau:
exec dbo.usp_ImportImage 'DRAGON','C:\MyPictures\Input','Dragon.jpg'
Kết quả, dữ liệu sẻ được lưu vào database sqlserver như hình bên dưới.
Khi các bạn muốn xuất hình ảnh từ sql ra thư mục các bạn thực hiện như sau
exec dbo.usp_ExportImage 'DRAGON','C:\MyPictures\Output','Dragon.jpg'
Thanks for waching!