sql-server - 将 Access 报告另存为 PDF/二进制文件

标签 sql-server vba ms-access

我正在使用 Access 2007 (VBA - adp) 前端和 SQL Server 2005 后端。我有一份报告,我想在 SQL Server 中将副本另存为 PDF 作为二进制文件。

  1. 打开报告
  2. 报告已关闭 - 已触发关闭事件
  3. 报告保存为 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/

相关文章:

c# - "1 of 2 Updates failed"上的 LINQ to SQL "SubmitChanges()"

sql-server - 确定列值中最后一个大写字母的索引(SQL)?

excel - 循环查找函数并执行删除列操作,直到查找函数返回 0

sql - 更改名称中有空格的表

SQL 更新,更新所有行 (MS-SQL 2008)

excel - 使用 VBA 粘贴时如何修复运行时错误 1004

vba - 在VBA中替换字符串中字符的最快方法

java - 将 Access 数据库数据克隆到 H2 之类的内存数据库?

vba - 如何仅在复选框上触发 BeforeUpdate 事件?

sql - 如何使用 Powershell 检查 SQL Server 版本?