我正在使用 Access 2007 (VBA - adp) 前端和 SQL Server 2005 后端。我有一份报告,我想在 SQL Server 中将副本另存为 PDF 作为二进制文件。
- 打开报告
- 报告已关闭 - 已触发关闭事件
- 报告保存为 PDF 并作为二进制文件上传到 SQL Server 表中
这可能吗?我该如何实现?
最佳答案
将二进制文件存储在数据库表中是否是一个好主意,存在不同的意见。有人说没关系,有人更喜欢将文件保存在文件系统中,只存储文件在数据库中的位置。
我是认为没问题的人之一 - 我们有一个 >440 GB 的 SQL Server 2005 数据库,我们在其中存储 PDF 文件和图像。它运行得非常好,我们没有遇到任何问题(例如速度......这通常是“文件系统”人员的主要论点之一)。
如果您不知道如何将文件保存到数据库中,请搜索“GetChunk”和“AppendChunk”,您会找到类似this one 的示例。 .
关于数据库设计:
最好制作两张表:一张仅包含 ID 和 blob 字段(PDF 文件存储的位置),另一张包含 ID 和用于过滤的附加字段。
如果你这样做,所有的搜索和过滤都将发生在小表上,只有当你知道你要加载的文件的 ID 时,你才准确地命中一次大表并加载文件。
我们这样做,就像我之前说的那样 - 数据库包含近 450 GB 的文件,我们完全没有速度问题。
关于sql-server - 将 Access 报告另存为 PDF/二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/968798/