【发布时间】:2010-09-23 01:38:44
【问题描述】:
有人知道如何在 MS SQL-Server 2000 中保存和检索文件吗?我猜图像数据类型可以用作容器。
我想导入/导出以下文件类型:DOC、XLS、PDF、BMP、TIFF 等。
由于资源问题,我们使用 MS-Access 2007 作为前端,所以我正在寻找 VBA 代码。
提前致谢。
【问题讨论】:
标签: sql-server vba ms-access
有人知道如何在 MS SQL-Server 2000 中保存和检索文件吗?我猜图像数据类型可以用作容器。
我想导入/导出以下文件类型:DOC、XLS、PDF、BMP、TIFF 等。
由于资源问题,我们使用 MS-Access 2007 作为前端,所以我正在寻找 VBA 代码。
提前致谢。
【问题讨论】:
标签: sql-server vba ms-access
我建议您(真的!)不要尝试(永远!)将文件保存为数据库中的数据。您将很快面临关键的空间问题。
请考虑为文件存储创建文件夹。这些将用于保存/归档您的文件。文件夹路径可以存储在您的一张表中(例如Tbl_Folder)。然后,您可以将文件名存储在表中(例如Tbl_File,其中将有一个“filename”字段)。您将能够使用Access.followHyperlink 方法打开它并使用File Scripting Object (FSO) 对其进行管理(复制/删除/移动)。
【讨论】:
您可以使用流来做到这一点。此代码应该可以帮助您完成第一步:
Set rs = New ADODB.Recordset
rs.Open "select * from YourTable", Connection, adOpenKeyset, adLockOptimistic
Set mstream = New ADODB.Stream
mstream.Type = adTypeBinary
mstream.Open
mstream.LoadFromFile "c:\myfile.pdf"
rs.Fields("blobfield").Value = mstream.Read
rs.Update
在数据库中存储文件并没有什么危险。我们有一个大约 20 GB 的 SQL Server 数据库,其中包含大约 40.000 个文档、图像等。3 年多来从未出现过问题。
【讨论】: