【发布时间】:2010-11-15 05:53:06
【问题描述】:
我需要查询文件夹结构。换句话说,我需要能够通过 SQL 访问目录结构。我在想应该有一些 OLE DB 提供程序或一些 ODBC 驱动程序用于此目的。我的朋友说谷歌“文件夹监控”,但我找不到任何东西 现在我在命令提示符下执行 dir>somefile 并将结果文本文件导入数据库,但它有点“非实时”。我需要像资源管理器一样实时访问它。 有办法吗? 谢谢
【问题讨论】:
我需要查询文件夹结构。换句话说,我需要能够通过 SQL 访问目录结构。我在想应该有一些 OLE DB 提供程序或一些 ODBC 驱动程序用于此目的。我的朋友说谷歌“文件夹监控”,但我找不到任何东西 现在我在命令提示符下执行 dir>somefile 并将结果文本文件导入数据库,但它有点“非实时”。我需要像资源管理器一样实时访问它。 有办法吗? 谢谢
【问题讨论】:
为什么需要专门的 SQL 来查询文件和文件夹?您尝试进行什么样的查询,您对它的性能要求是什么(一方面,您应该意识到在缺乏索引的情况下查询性能不会取决于查询语言)。
【讨论】:
我假设您将在数据库中将有关文件夹结构的信息存储为层次结构:
例如,要将 fileA 和 fileB 存储在 DirectoryD 下,您将拥有三个记录: - 1, 1, 根 - 2, 1, 目录D - 3、2、文件A - 4、2、文件B
如果是这样,我建议阅读分层数据库模型:
【讨论】:
您可以尝试importing a .NET assembly into your database,其中包含用于查询文件系统的逻辑,将其公开为用户定义的函数,然后在您想从该目录实时获取值的任何时候调用该函数。
当然,我只看到过使用 .Net 函数的标量结果完成此操作,但它应该也可以返回表值。
可以在here 找到一个简单的 C# 文件系统访问示例,但如果 C# 不是你的风格,或者你根本不涉足代码,那么这将没有任何帮助。
【讨论】: