Để đảm bảo bạn có quyền sử dụng lệnh BULK, hãy làm theo các bước dưới đây
- Mở rộng Bảo mật
- Mở rộng Đăng nhập
- Nhấp chuột phải vào tên người dùng của bạn và chọn thuộc tính (Một cửa sổ hộp thoại xuất hiện)
- Chọn Vai trò máy chủ
- Chọn số lượng lớn để có thể sử dụng hàng loạt lệnh hoặc sysadmin để có thể sử dụng bất kỳ lệnh nào đối với cơ sở dữ liệu của bạn.
Bây giờ, liên quan đến truy vấn của bạn đang sử dụng, nó không đúng lắm.
Để tạo bảng
CREATE TABLE [dbo].[Stickers] (
[name] varchar(10)
, [category] varchar(10)
, [gender] varchar(1)
, [imageData] varchar(max)
)
Để chèn dữ liệu giá trị lớn
INSERT INTO [dbo].[Stickers] ([name], [category], [gender], [imageData])
SELECT 'Red dress'
, 'Dress'
, 'F'
, photo.*
FROM OPENROWSET(BULK 'C:\Users\username\Desktop\misc-flower-png-55d7744aca416.png', SINGLE_BLOB) [photo]
Một số lưu ý:
- Bạn cần đặt tên tương quan cho bộ hàng loạt sau mệnh đề FROM ([ảnh])
- Sử dụng tiền tố cột bên phải đã được sử dụng cho mối tương quan của tập hợp hàng loạt (ảnh. *)
- Cột cho chèn hàng loạt cần được đặt là varchar (max)
Bài viết MSDN cho điều này: tại đây