views:

44

answers:

1

I have an application that stores large amount of files (XML and binary) in folder hierarchies. Currently the main method is storing them in file system or using a legacy CMS, which we want to get rid of.

The CMS supports Oracle and a customer wants to keep the files in Oracle because of enterprise policies (backup etc.)

The question is: Is there a simple implementation of file repository with folder hierarchy for Oracle? What I am looking for is a small .Net component or example code (PL/SQL and/or .Net) that would have the following methods:

  • Create, Delete, Exists Folder
  • CRUD file
  • Move and potentially Copy file or directory
  • Access to files and folders with paths like "/root/folder1/folder2/file.xml"
  • Ability to get all the files and folders in a folder and potentially also the entire directory tree
  • Tree traversal, getting the parent, all children etc. needs to be fast.

I need the implementation in .Net, but if it was just the stored procedures, I could create the .Net calling code. I have pointers to generic articles for creating hierarchies in DB, so if I need to do it from scratch, I know where to start. What I am asking here, is there already an implementation that I could take without doing this from scratch? It seems like such a generic requirement...

If the answer is a CMS, Document management system or such it should be Open Source or at least quite cheap (some hundreds / server) and it should be possible to deploy it XCopy - hopefully only couple of DLL:s. I do not need - or want - a full featured big CMS with dozens of dlls and especially not an msi-installation.

I have tried to google this, but the words "repository", "CMS", "file hierarchy" etc. give so many answers, the searches are pretty much useless.

Thanks, OPe

A: 

If you can upgrade to Oracle 11gR2, they've got a whole file system that can just be mounted by a unix client and treated as just another mount point. It even de-duplicates the files for you (ie if the same 100MB file is stored in five directories, the database will just have 100MB for the file and the pointers to it from the directories).

http://www.oracle-base.com/articles/11g/DBFS_11gR2.php

http://ronnyegner.wordpress.com/2009/10/08/the-oracle-database-file-system-dbfs/

http://www.oracle.com/technology/products/database/securefiles/pdf/S311353.pdf

Gary
It's not really what I was looking for as my client is not yet ready to move to 11gR2... But it is correct and the best answer I got. Perhaps by the end of the year it is also an answer to my case. So accepting it, thanks!
Ope