Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Làm cách nào để kết xuất tất cả hình ảnh của chúng tôi từ trường VARBINARY (MAX) trong SQL Server 2008 vào hệ thống tệp?

Tôi đã tìm ra nó nhờ cái này bài đăng ...

SET NOCOUNT ON

DECLARE @IdThumbnail INTEGER,
        @MimeType VARCHAR(100),
        @FileName VARCHAR(200),
        @Sqlstmt varchar(4000)


DECLARE Cursor_Image CURSOR FOR
    SELECT a.IdThumbnail
    FROM tblThumbnail a
    ORDER BY a.IdThumbnail

OPEN Cursor_Image
    FETCH NEXT FROM Cursor_Image INTO @IdThumbnail

    WHILE @@FETCH_STATUS = 0
    BEGIN

        -- Generate the file name based upon the ID and the MIMETYPE.
        SELECT @FileName = LTRIM(STR(@IdThumbnail)) + '.png'

        -- Framing DynamicSQL for XP_CMDshell            
        SET @Sqlstmt='BCP "SELECT OriginalImage 
                      FROM Appian.dbo.tblThumbnail 
                      WHERE IdThumbnail = ' + LTRIM(STR(@IdThumbnail)) +
                      '" QUERYOUT c:\Temp\Images\' + LTRIM(@FileName) + 
                      ' -T -fC:\Temp\ImageFormatFile.txt'
        print @FileName
        print @sqlstmt

        EXEC xp_cmdshell @sqlstmt
        FETCH NEXT FROM Cursor_Image INTO @IdThumbnail
    END

CLOSE Cursor_Image
DEALLOCATE Cursor_Image

Xin lưu ý -> u cần phải có một tệp định dạng, cho lệnh BCP. Đây là nội dung của tệp và tôi đã đặt nó trong c:\ Temp (như đã lưu ý trong dòng lệnh BCP ở trên).

10.0
1
1       SQLIMAGE            0       0       ""   1     OriginalImage                      ""

Lưu ý cuối cùng về tệp định dạng đó .. ở đó ĐÃ CÓ DÒNG MỚI SAU DÒNG CUỐI CÙNG. nếu không bạn sẽ gặp lỗi.

Hãy tận hưởng!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JPA 2.0 có hỗ trợ các biến bảng SQL Server không?

  2. 3 cách chuyển đổi số nguyên thành số thập phân trong SQL Server

  3. Cập nhật một bảng dựa trên dữ liệu từ nhiều bảng SQL Server 2005,2008

  4. Định dạng SQL Server các vị trí thập phân với dấu phẩy

  5. Lập bản đồ điểm không gian địa lý trong Fluent NHibernate