【问题标题】:SQL Blob to Base 64 in Table for FileMakerFileMaker 表中的 SQL Blob 到 Base 64
【发布时间】:2018-02-04 15:53:45
【问题描述】:

我查看并发现了一些实例,网站等正在做类似的事情......

我有一个 SQL 表,我正在 FileMaker Pro(通过 ESS)中通过与 SQL 数据库的 ODBC 连接访问它,我拥有我需要的一切,除了一个表(duo.MMOBJS)中有一个字段(LNL_BLOB)是无法通过 ODBC 连接访问的图像“(image, null)”。

我想要完成的是找到一种方法,当图像放置在字段中时,它也会在同一个表的另一个字段中转换为 Base64。此外,如果有帮助,数据库创建者有一个“视图”(对我们 Filemaker 开发人员来说是外国概念),其中包含名为“dbo.VW_BLOB_IMAGES”的相同数据。

如果有一个带有 Base64 文本的字段,我可以在 FileMaker 中对其进行解码以获取图像。

大家有什么想法?有没有更好的方法?

注意:我在我制作的应用程序中使用了许多表和大量数据,这张图片不是我创建 ODBC 连接的唯一原因。

Table

View

【问题讨论】:

  • 由于ESS不支持容器字段,我认为这是唯一的方法。前段时间我做了一些研究,我的实现与你的相似。

标签: sql-server base64 odbc blob filemaker


【解决方案1】:

嗯,从 SQL 中获取 base64 的一种方法是欺骗 SQL 中的 XML 引擎将您的列转换为 base64,然后去除 XML:

SELECT SUBSTRING(Q.Base64Data, 7, LEN(Q.Base64Data)-9)
FROM (SELECT
(
    SELECT LNL_BLOB AS B
    FROM duo.MMOBJS
    FOR XML raw('r'), BINARY BASE64
) AS [Base64Data]) AS [Q]

您可能希望将其添加到您的选择语句或视图中,而不是将其添加到表中;但是,您可以编写一个触发器来使用该定义来维护该字段。

【讨论】:

  • 谢谢!我将对此进行调查。 :-)
猜你喜欢
  • 2018-08-20
  • 2013-03-05
  • 1970-01-01
  • 2017-06-16
  • 2021-11-02
  • 2021-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多