APEX 5 get_blob不起作用

时间:2017-02-03 16:00:13

标签: oracle11g blob oracle-apex oracle-apex-5

我正在开发Oracle APEX( Oracle APEX 5.03.00.03 on Oracle 11.2.0.1.0 )项目,并希望在经典报告中添加BLOB下载字段。当我尝试实现内置BLOB函数时,当我尝试使用下载功能时出现以下错误:

  

在此服务器上找不到请求的网址/apex/apex_util.get_blob

当我只显示包含BLOB的表的ID时,它似乎工作正常。

有人可以建议我收到此错误消息的原因吗?

详细错误消息:

 Fri, 03 Feb 2017 16:14:58 GMT

 ORA-01403: no data found
 ORA-06512: at "APEX_050000.WWV_FLOW_DML", line 2614
 ORA-06512: at "APEX_050000.HTMLDB_UTIL", line 2358
 ORA-06512: at line 30

   DAD name: apex
   PROCEDURE  : apex_util.get_blob
   URL        : http://XDB HTTP Server:8080/apex/apex_util.get_blob?s=11054899794271&a=101&c=6567838787688550&p=1&k1=387&k2=&ck=trxxXovenh8JXNmrbJU-kW8fuqA&rt=CR
   PARAMETERS :
   ===========
   s:
    11054899794271
   a:
    101
   c:
    6567838787688550
   p:
    1
   k1:
    387
   k2:

   ck:
    trxxXovenh8JXNmrbJU-kW8fuqA
   rt:
    CR

   ENVIRONMENT:
   ============
     PLSQL_GATEWAY=WebDb
     GATEWAY_IVERSION=2
     SERVER_SOFTWARE=Oracle Embedded PL/SQL Gateway/11.2.0.1.0
     GATEWAY_INTERFACE=CGI/1.1
     SERVER_PORT=8080
     SERVER_NAME=XDB HTTP Server
     REQUEST_METHOD=GET
     QUERY_STRING=s=11054899794271&a=101&c=6567838787688550&p=1&k1=387&k2=&ck=trxxXovenh8JXNmrbJU-kW8fuqA&rt=CR
     PATH_INFO=/apex_util.get_blob
     SCRIPT_NAME=/apex
     REMOTE_HOST=
     REMOTE_ADDR=***.***.***.***
     SERVER_PROTOCOL=HTTP/1.1
     REQUEST_PROTOCOL=HTTP
     REMOTE_USER=ANONYMOUS
     ORACLE_SSO_USER=
     OSSO_IDLE_TIMEOUT_EXCEEDED=
     OSSO_USER_GUID=
     HTTP_CONTENT_LENGTH=0
     HTTP_CONTENT_TYPE=
     HTTP_USER_AGENT=Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0
     HTTP_HOST=***.***.***.***:8080
     HTTP_ACCEPT=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
     HTTP_ACCEPT_ENCODING=gzip,deflate
     HTTP_ACCEPT_LANGUAGE=de,en-US;q=0.7,en;q=0.3
     HTTP_ACCEPT_CHARSET=
     HTTP_COOKIE=GLog=%7B%0D%20%20%20%20trackRPC%3Afalse%0D%7D; ORA_WWV_USER_69403427360201=ORA_WWV-e_s8viZvzgtsU3VEWxrb2fiA; ORA_WWV_REMEMBER_UN=INFADOKU_MCS:INFADOKU; LOGIN_USERNAME_COOKIE=marcel.cossijns%40dimq.com; ORA_WWV_APP_101=ORA_WWV-oDjbL3JTO9dSkhc-G3eXZUCk; ORA_WWV_APP_104=ORA_WWV-NCAzle-H4Do3Okc0SfsHHkGa
     HTTP_IF_MODIFIED_SINCE=
     HTTP_REFERER=http://**.***.***.***:8080/apex/f?p=101:1:11054899794271:::::
     HTTP_SOAPACTION=
     HTTP_ORACLE_ECID=
     HTTP_ORACLE_CACHE_VERSION=
     HTTP_AUTHORIZATION=
     WEB_AUTHENT_PREFIX=
     DAD_NAME=apex
     DOC_ACCESS_PATH=docs
     DOCUMENT_TABLE=wwv_flow_file_objects$
     PATH_ALIAS=r
     REQUEST_CHARSET=AL32UTF8
     REQUEST_IANA_CHARSET=UTF-8
     SCRIPT_PREFIX=
     HTTP_IF_MATCH=
     HTTP_CACHE_CONTROL=
     SOAP_BODY=
     HTTP_X_ORACLE_DEVICE_CLASS=
     HTTP_X_ORACLE_DEVICE_ORIENTATION=
     HTTP_X_ORACLE_DEVICE_MAXDOCSIZE=
     HTTP_X_ORACLE_DEVICE=
     HTTP_X_ORACLE_ORIG_ACCEPT=
     HTTP_X_ORACLE_ORIG_USER_AGENT=
     HTTP_X_ORACLE_USER_LOCALE=
     HTTP_X_ORACLE_USER_NAME=
     HTTP_X_ORACLE_USER_DISPLAYNAME=
     HTTP_X_ORACLE_USER_USERKIND=
     HTTP_X_ORACLE_USER_AUTHKIND=
     HTTP_X_ORACLE_USER_DEVICEID=
     HTTP_X_ORACLE_USER_LOCATION_ADDRESSLINE1=
     HTTP_X_ORACLE_USER_LOCATION_ADDRESSLINE2=
     HTTP_X_ORACLE_USER_LOCATION_ADDRESSLASTLINE=
     HTTP_X_ORACLE_USER_LOCATION_BLOCK=
     HTTP_X_ORACLE_USER_LOCATION_CITY=
     HTTP_X_ORACLE_USER_LOCATION_COMPANYNAME=
     HTTP_X_ORACLE_USER_LOCATION_COUNTY=
     HTTP_X_ORACLE_USER_LOCATION_STATE=
     HTTP_X_ORACLE_USER_LOCATION_POSTALCODE=
     HTTP_X_ORACLE_USER_LOCATION_POSTALCODEEXT=
     HTTP_X_ORACLE_USER_LOCATION_COUNTRY=
     HTTP_X_ORACLE_USER_LOCATION_TYPE=
     HTTP_X_ORACLE_USER_LOCATION_X=
     HTTP_X_ORACLE_USER_LOCATION_Y=
     HTTP_X_ORACLE_SERVICE_HOME_URL=
     HTTP_X_ORACLE_SERVICE_PARENT_URL=
     HTTP_X_ORACLE_HOME_URL=
     HTTP_X_ORACLE_MODULE_CALLBACK_URL=
     HTTP_X_ORACLE_MODULE_CALLBACK_LABEL=
     HTTP_X_ORACLE_CACHE_USER=
     HTTP_X_ORACLE_CACHE_SUBID=
     HTTP_X_ORACLE_CACHE_AUTH=
     HTTP_X_ORACLE_CACHE_DEVICE=
     HTTP_X_ORACLE_CACHE_LANG=
     HTTP_X_ORACLE_CACHE_ENCRYPT=
     HTTP_X_ORACLE_ASSERT_USER=

1 个答案:

答案 0 :(得分:0)

您需要将这些内容添加到您的页面

  1. 隐藏页面项目,例如 P60_DOC_ID
  2. 一个文件浏览页面项目,例如 P60_DOC
  3. 页面标题执行点之后的自动行提取过程,比方说 FETCH DOC
  4. 然后你可以用以下方式实现内置的BLOB功能,

    APEX_UTIL.GET_BLOB_FILE_SRC('P60_DOC',DOC_ID,NULL,'inline')
    

    项目和流程属性的屏幕截图供参考,

    **Hidden Page Item**

    **File Browse Page Item**

    **Automatic Row Fetch Process**