【问题标题】:Using Microsoft Access program to upload images to be stored in SQL Server database使用 Microsoft Access 程序上传要存储在 SQL Server 数据库中的图像
【发布时间】:2020-10-22 09:55:45
【问题描述】:

我有一个要转换为 SQL Server 的 Access 后端。使用 Access 的前端将保持不变。我遇到的问题是 SQL Server 处理图像的方式与 MS Access 不同。

目前,用户通过附件数据类型将图片添加到记录中,据我了解,这在 SQL Server 中是不可能的。我看到图像数据类型已被弃用,留下varbinary(MAX) 和/或文件流作为选项。

我想将图像存储在文件系统中,因为大小大于 256KB,但我没有找到任何有关使用 Access 前端完成此操作的文档。

【问题讨论】:

  • 您要将图像提取到文件夹位置吗?
  • 如果您使用文件表 SQL Server 将公开一个 Windows 文件共享供您使用文件系统 API 保存文件。 docs.microsoft.com/en-us/sql/relational-databases/blob/…
  • 如果用户在 Access 前端时可以看到图像而不是文件路径,那将是理想的。这可能吗?

标签: sql sql-server image ms-access varbinary


【解决方案1】:

考虑运行 MS Access pass-through query 来上传用户的图像。具体来说,将文件名传递到 SQL 查询中,如MSDN docs 中所示,用于大值数据类型。为此,用户需要OPENROWSET 权限,并且图像文件可能需要在客户端计算机或服务器上可访问。

INSERT myTable (myImageColumn, ...other columns...)  
SELECT myPicData.*, ...other values...  
FROM OPENROWSET
     (BULK 'C:\Path\To\Image.jpg', SINGLE_BLOB) AS myPicData  

【讨论】:

    猜你喜欢
    • 2012-03-05
    • 1970-01-01
    • 2020-03-03
    • 1970-01-01
    • 1970-01-01
    • 2012-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多