Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. Visual Basic
  4. Storing Files inside SQL server database : Good or BAD idea ?

Storing Files inside SQL server database : Good or BAD idea ?

Scheduled Pinned Locked Moved Visual Basic
databasecsharpsql-serversysadmin
14 Posts 4 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P PIEBALDconsult

    That depends on what the app has to do with the files. Storing them in the database is a good idea in many cases, but offers no benefits in others. One benefit of using the database is that you can implement versioning of the files. Another is that it makes hacking the files more difficult.

    S Offline
    S Offline
    satc
    wrote on last edited by
    #4

    The application need only to open the file ( and display its content on a control , or open with default programs on windows ). Also if the user want to change the file that is attached to a record ( for example has saved the wrong file and needs to save another file ). So , to be more clear , the application only save a file an open it , but there's no need to modify this file.

    P 1 Reply Last reply
    0
    • W Wendelius

      As PIEBALDconsult pointed out it depends on the requirements. In most of the cases I would use a filestream because it also makes backing up much easier and offers transactional features. Few resources if you're interested in filestream - Enable and Configure FILESTREAM[^] - How to store and fetch binary data into a file stream column[^]

      S Offline
      S Offline
      satc
      wrote on last edited by
      #5

      And what about performance using the file contents on these cases : - Saving the file on a folder - Using FileStream - Saving on a VARBINARY(MAX) fields. ( Of course supposing that the file may be on whatever size ).

      W 1 Reply Last reply
      0
      • S satc

        The application need only to open the file ( and display its content on a control , or open with default programs on windows ). Also if the user want to change the file that is attached to a record ( for example has saved the wrong file and needs to save another file ). So , to be more clear , the application only save a file an open it , but there's no need to modify this file.

        P Offline
        P Offline
        PIEBALDconsult
        wrote on last edited by
        #6

        Then it sounds like you want the file system.

        S 1 Reply Last reply
        0
        • P PIEBALDconsult

          Then it sounds like you want the file system.

          S Offline
          S Offline
          satc
          wrote on last edited by
          #7

          The problem that I have using filesystem , is that sometimes I need to backup and restore the database.And in this case is difficult to put all the files in the backup. lso is the problem with the synchronization , I mean when the database has a reference to a file , but this file is deleted or renamed on file system.

          P 1 Reply Last reply
          0
          • S satc

            And what about performance using the file contents on these cases : - Saving the file on a folder - Using FileStream - Saving on a VARBINARY(MAX) fields. ( Of course supposing that the file may be on whatever size ).

            W Offline
            W Offline
            Wendelius
            wrote on last edited by
            #8

            In the second link I posted, there are some measurements in the end. Have a look at those.

            C 1 Reply Last reply
            0
            • S satc

              The problem that I have using filesystem , is that sometimes I need to backup and restore the database.And in this case is difficult to put all the files in the backup. lso is the problem with the synchronization , I mean when the database has a reference to a file , but this file is deleted or renamed on file system.

              P Offline
              P Offline
              PIEBALDconsult
              wrote on last edited by
              #9

              Then database it is.

              1 Reply Last reply
              0
              • W Wendelius

                In the second link I posted, there are some measurements in the end. Have a look at those.

                C Offline
                C Offline
                Cimak666
                wrote on last edited by
                #10

                I prefer streaming files in database. In many cases it payed back - specially in backups.

                S 1 Reply Last reply
                0
                • C Cimak666

                  I prefer streaming files in database. In many cases it payed back - specially in backups.

                  S Offline
                  S Offline
                  satc
                  wrote on last edited by
                  #11

                  where can I read more about it , and is this method suitable for large files ?

                  C 1 Reply Last reply
                  0
                  • S satc

                    where can I read more about it , and is this method suitable for large files ?

                    C Offline
                    C Offline
                    Cimak666
                    wrote on last edited by
                    #12

                    I worked mostly with pictures with up to 4MB, but tried up to 1GB files (MySQL). Pay attantion to setting of database to allow large files.

                    S 1 Reply Last reply
                    0
                    • C Cimak666

                      I worked mostly with pictures with up to 4MB, but tried up to 1GB files (MySQL). Pay attantion to setting of database to allow large files.

                      S Offline
                      S Offline
                      satc
                      wrote on last edited by
                      #13

                      ok , but where can I read more about this method ?

                      C 1 Reply Last reply
                      0
                      • S satc

                        ok , but where can I read more about this method ?

                        C Offline
                        C Offline
                        Cimak666
                        wrote on last edited by
                        #14

                        I´ve learned a lot from here: http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=4630&lngWId=10

                        1 Reply Last reply
                        0
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • World
                        • Users
                        • Groups