Sql server 将PDF MP3 DOC XLS等文件导入MS SQL Server数据表字段

Sql server 将PDF MP3 DOC XLS等文件导入MS SQL Server数据表字段,sql-server,vba,ms-access,Sql Server,Vba,Ms Access,有人知道如何在MS SQL Server 2000中保存和检索文件吗?我想图像数据类型可以用作容器 我想导入/导出以下文件类型:DOC、XLS、PDF、BMP、TIFF等 由于资源问题,我们使用MS Access 2007作为前端,因此我正在寻找VBA代码 提前感谢。您可以使用GetChunk和AppendChunk来完成此操作 从中你可能会发现有用的 有一件事需要注意: 使用某些提供程序时,大多数 特别是ODBC到SQL Server和其他 数据库,您可能需要 检索BLOB数据时要特别小心,

有人知道如何在MS SQL Server 2000中保存和检索文件吗?我想图像数据类型可以用作容器

我想导入/导出以下文件类型:DOC、XLS、PDF、BMP、TIFF等

由于资源问题,我们使用MS Access 2007作为前端,因此我正在寻找VBA代码


提前感谢。

您可以使用GetChunk和AppendChunk来完成此操作

从中你可能会发现有用的

有一件事需要注意:

使用某些提供程序时,大多数 特别是ODBC到SQL Server和其他 数据库,您可能需要 检索BLOB数据时要特别小心, 例如,将BLOB列放置在 字段列表和引用的结尾 访问之前的所有非BLOB字段 BLOB列

祝你好运

我建议你(真的!)不要尝试(永远!)将文件保存为数据库中的数据。您将很快面临严重的空间问题


请考虑为文件存储创建文件夹。这些将用于保存/归档您的文件。文件夹路径可以存储在您的一个表中(
Tbl_Folder
)。然后,您可以将文件名存储在一个表中(例如
Tbl_file
,其中有一个“
filename
”字段)。您可以使用
访问权限打开它。使用超链接
方法并使用(FSO)管理它(复制/删除/移动)。

您可以使用streams执行此操作。此代码将帮助您完成以下第一步:

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年多的时间里,它从未出现过问题。

虽然我同意您关于避免在数据库中存储文件的主要观点,但有一个例外:如果您使用复制。在这种情况下,将文件存储在数据库中是使多个位置与文件中的相同数据保持同步的最简单方法。但是,将文件存储在数据库中的成本(以磁盘空间和交换量计算)是如此巨大,以至于我们开发了一种“自制的”解决方案是将数据复制与文件和文件夹复制相结合。我认为可能有几种同步文件系统的技术,它们的问题可能比数据库复制小得多。我投票赞成不在数据库中存储文件。