具有文件夹层次结构的简单 Oracle 文件存储库
我有一个应用程序在文件夹层次结构中存储大量文件(XML 和二进制)。目前主要的方法是将它们存储在文件系统中或使用我们想要摆脱的遗留 CMS。
CMS 支持 Oracle,并且由于企业策略(备份等),客户希望将文件保留在 Oracle 中。
问题是:是否有针对 Oracle 的带有文件夹层次结构的文件存储库的简单实现?我正在寻找一个小的 .Net 组件或示例代码(PL/SQL 和/或 .Net),它具有以下方法:
- 创建、删除、存在文件夹
- CRUD 文件
- 移动并可能复制文件或目录
- 访问文件和文件夹像“/root/folder1/folder2/file.xml”这样的路径
- 能够获取文件夹中的所有文件和文件夹,也可能获取整个目录树
- 树遍历、获取父级、所有子级等需要很快。
我需要在 .Net 中实现,但如果只是存储过程,我可以创建 .Net 调用代码。我有一些关于在数据库中创建层次结构的通用文章的指针,所以如果我需要从头开始,我知道从哪里开始。我在这里问的是,是否已经有一个实现可以让我无需从头开始执行此操作?这似乎是一个通用的要求...
如果答案是 CMS、文档管理系统等,它应该是开源的或至少相当便宜(大约数百个/服务器),并且应该可以部署它 XCopy - 希望仅几个 DLL:s。我不需要 - 也不想要 - 具有数十个 dll 的全功能大型 CMS,尤其不是 msi 安装。
我尝试用谷歌搜索这个,但是“存储库”、“CMS”、“文件层次结构”等词给出了很多答案,搜索几乎毫无用处。
谢谢,欧佩
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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您可以升级到 Oracle 11gR2,他们将拥有一个完整的文件系统,该系统只能由 unix 客户端挂载并被视为另一个挂载点。它甚至会为您删除重复的文件(即,如果同一个 100MB 文件存储在五个目录中,数据库将只有 100MB 的文件空间和目录中指向该文件的指针)。
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
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