当我在“精确在线”上执行以下查询时:
use 450*** /* Replace anonymized *** by last three digits of division. */
set use-http-disk-cache false
set use-http-memory-cache false
select * from ExactOnlineREST..DocumentAttachmentFiles where id = to_guid('8b60ccb6-e89d-4397-a4ca-001d6f57a4eb')
我得到一个错误:
itgenoda074: Uw sessie is verlopen. Meld je opnieuw aan. [Session expired]
itgenoda074: Not authenticated. Request to 'https://start.exactonline.nl/docs/SysAttachment.aspx?ID=8b60ccb6-e89d-4397-a4ca-001d6f57a4eb&_Division_=450***' gave response from 'https://start.exactonline.nl/docs/SysAccessDenied.aspx?Mode=128&_Division_=450***'.
这种情况既发生在长时间的会话之后,又直接发生在登录后,因此令牌仍然有效。
如何使用Invantive SQL访问文档?
我在拥有公司的Exact Online环境中拥有所有特权。
答案 0 :(得分:1)
以下内容无济于事,因为它是递归的API调用(从文件元数据到实际的blob):
set ignore-http-403-errors false
但是您可以在递归检索实际的二进制blob期间忽略任何错误:
set ignore-document-download-errors true
然后,运行以下查询以确定与附件关联的文档ID:
select document from ExactOnlineREST..DocumentAttachmentFiles where id = to_guid('8b60ccb6-e89d-4397-a4ca-001d6f57a4eb')
并将文档GUID放在以下查询中:
select * from exactonlinerest..documents where id=to_guid('VALUE FROM PREVIOUS QUERY')
可能您将检索0行。有时文档附件文件继续存在而文档不再可用。
如果是,则将其自己报告给Exact Online。他们的API应该返回引用正确的数据。
如果没有,请扩展您的问题。