从同一表中的varchar(max)列更新varbinary(max)列

unftdfkk  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(445)

我有一张table volcards 其中包含列,包括 photo_text [ varchar(max) ]以及 photo [ varbinary(max) ].
从用户那里收集数据和照片的应用程序是filemaker(claris),它使用odbc填充sqlserver字段。但显然,尽管它不能填充sql server表中的二进制字段,但它可以为照片填充base64字段。从这些数据打印id卡的专有应用程序需要带有二进制字段的sqlserver表。它不能使用filemaker数据库。
我的目标是能够运行一个命令,根据photo\u text列中的base64内容更新二进制列photo。
我找到了这个片段,它显示了我想要的结果,但我不知道如何将二进制结果写入sql表的“photo”字段。

SELECT 
    volcards.photo_text, 
    CAST(N'' AS xml).value('xs:base64Binary(sql:column("volcards.photo_text"))', 'varbinary(max)') AS photo
FROM 
    volcards

谢谢您

btxsgosb

btxsgosb1#

我的经验。。我的解决方案就是在fm上使用导入功能。显示varbinary

相关问题