Import Images To SQL Server Using SSIS

Here are the steps,

  1. Create a flat file named ListImages.txt containing list of paths of images to be imported in SQL Server.

    Content of ListImages.txt

    C:\Images\Image1.gif
    C:\Images\Image2.gif

  2. Create a table in database to copy the images into SQL Server.
    1. CREATE TABLE dbo.tblImages(  
    2.    id int IDENTITY(1,1) NOT NULL PRIMARY KEY  
    3.    , imgPath varchar(200) NULL  
    4.    , image image NULL  
    5. )  
  3. Start the SQL Server Business Intelligence Studio and create a New SQL Server Integration project "ImportImages".

    SQL Server Business Intelligence Studio

  4. Drag and drop the Data Flow Task to the design pane.

    Drag and drop

  5. In the design pane right  lick on Data Flow Task and then click Edit or double click the Data Flow Task.

    Data Flow Task

  6. From the Data Flow tab, drag and drop a Flat File Source, an Import Column and an OLE DB Destination. Join the tasks with the green arrows as shown below.

    OLE DB Destination

  7. Right click on Flat File Source and then click Edit.

    Flat File Source

  8. In the Flat file connection manager, press New.

    Flat file connection manager

  9. In the General option, mention Connection manager name, Description (Optional) and browse flat file ListImages.txt created in Step 1.

    General option

  10. Select Advanced option and change the name to ImagePath. Click Ok twice to save the settings.

    Advance option

  11. Right click on Import Column and then click Edit. In the new window, select Input Columns tab and select Name

    Import Column

  12. Select Input and Output Properties Tab and expand Import Column Output from the TreeView. Select Output Columns and click on Add Column. Get the ID property value of the column created. (In this example, ID is 58)

    Add Column

  13. Expand Import Column Input from the TreeView and select ImagePath. In ColumnProperties, set FileDataColumnID value to 58 (generated in step 12) and click Ok to save the settings

    ImagePath

  14. Right click on OLE DB Destination and then click Edit.

    click Edit

  15. In the OLE DB Destination Editor Window, press New, for the OLE DB connection manager.

    OLE DB Destination Editor

  16. In the Configure OLE DB Connection Manager press the New button.

    Configure OLE DB Connection Manager

  17. In the Connection Manager, in Provider combo box, select Native OLE DB\SQL Server Native Client and provide other details like Server Name, Authentication Type, Credentials and Database Name and click OK.

    Connection Manager

  18. In the OLE DB Destination Editor Window, In Connection Manager Option select the table tblImages.

    Connection Manager Option

  19. Select the option Mapping and do the mapping as shown below and click Ok.

    Mapping

  20. At this point, we are done with creating the package and ready to run the project. If everything is OK, all the tasks should be displayed with green color and the number of rows imported should be displayed.

    creating the package

  21. To verify the data is imported successfully, Open SQL Server Management Studio and connect the database and open the table tblImages,

    tblImages