Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर 2008 में VARBINARY (MAX) फ़ील्ड से हमारी सभी छवियों को फाइल सिस्टम में कैसे डंप करें?

मैंने इसका पता लगा लिया है धन्यवाद इस पोस्ट ...

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

कृपया ध्यान दें -> बीसीपी कमांड के लिए आपके पास एक प्रारूप फ़ाइल होनी चाहिए। यह फ़ाइल की सामग्री है और मैंने इसे c:\Temp में रखा है (जैसा कि ऊपर BCP कमांडलाइन में बताया गया है)।

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

उस प्रारूप फ़ाइल के बारे में अंतिम नोट .. अंतिम पंक्ति के बाद एक नई पंक्ति होनी चाहिए। अन्यथा आपको एक त्रुटि मिलेगी।

आनंद लें!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. DATETIMEFROMPARTS () SQL सर्वर में उदाहरण (T-SQL)

  2. SQL सर्वर (T-SQL) में डेटाबेस मेल के लिए कॉन्फ़िगरेशन सेटिंग्स कैसे बदलें

  3. CAST () का उपयोग करके SQL सर्वर में दिनांक स्वरूपों के बीच कनवर्ट कैसे करें

  4. SQL सर्वर 2008 में वीकनो का उपयोग करके छह सप्ताह की रविवार की गिनती कैसे प्राप्त करें?

  5. बाधा का नाम जाने बिना विदेशी कुंजी छोड़ें?