【问题标题】:ORDS FILE UPLOAD NON-APEX MOD_PLSQL APPLICATIONORDS 文件上传非 APEX MOD_PLSQL 应用程序
【发布时间】:2018-06-05 18:58:43
【问题描述】:

我们正在将 mod_plsql 应用程序升级到 ORDS 3。我在以下内容中找到了一些信息:迁移到 ORDS 的非 Apex PL/SQL 应用程序中的文件上传。在此,Kris Rice 说,“重要的问题。你在这个数据库中有顶点吗?我的答案基于此而有所不同。”然后提供一个答案。我无法判断此答案是因为在数据库中有顶点还是在数据库中没有顶点。我们在数据库中没有 Apex。我已经尝试了答案中的步骤,但我们得到:PLS-00306:调用“UPLOAD_PROC”时参数的数量或类型错误。

在将 mod_plsql 应用程序移动到 ORDS3 时,是否有人能够在不进行大量代码更改的情况下使文件上传工作?

【问题讨论】:

    标签: oracle oracle-ords mod-plsql


    【解决方案1】:

    这是当前的逻辑。

    此 SQL 在架构中执行。

    select  version_no from apex_release
    

    如果是 4+ 则运行

    begin ? := apex_util.set_blob(.... ); end;";
    

    如果小于 4,则运行其中 %s 是 defaults.xml 中 apex.docTable 的值

    BEGIN INSERT INTO %s (name, mime_type, content_type, dad_charset, last_updated, blob_content)
    

    【讨论】:

    • 我已经创建了视图 apex_release,验证了我的 url-mapping.xml,并添加了一个类似于 klrice.MYDOCTABLE 的条目到 conf/ .xml 但我收到此错误:原因:java.sql.SQLException:ORA-06550:第 2 行,第 2 列:PLS-00306:调用“UPLOAD_PROC”ORA-时参数的数量或类型错误06550:第 2 行,第 2 列:PL/SQL:语句被忽略
    • 你能给我发一封电子邮件,我们可以做一个 webshare/webex/... 看看发生了什么?
    • 我的表有超过 6 列:NAME VARCHAR2(256 BYTE) NOT NULL, MIME_TYPE VARCHAR2(128 BYTE) NOT NULL, DOC_SIZE NUMBER, DAD_CHARSET VARCHAR2(128 BYTE), LAST_UPDATED DATE NOT NULL, CONTENT_TYPE VARCHAR2(128 BYTE) NOT NULL, OT_FORMAT VARCHAR2(6 BYTE) DEFAULT 'BINARY' NOT NULL, BLOB_CONTENT BLOB NOT NULL
    • 应该没问题。上面列出的那些是最低要求。所有人都在场吗?
    • 他们应该是。我正在尝试让应用程序正常工作。我没有写代码。开发人员要求安装 apex。他们关注堆栈跟踪中的顶点引用:Oracle.dbtools.apex.ModApexContext.handleError(ModApexContext.java:273) 上 oracle.dbtools.apex.OWA.execute 中的 InternalServerException [statusCode=500,reasons=[]] (OWA.java:222) 在 oracle.dbtools.apex.ModApex.handleRequest(ModApex.java:266) 在 oracle.dbtools.apex.ModApex.doPost(ModApex.java:174) 在 oracle.dbtools.apex.ModApex。服务(ModApex.java:102)
    【解决方案2】:

    除了 Kris Rice 指出的步骤之外,我们的上传表中还有 CONTENT_TYPE VARCHAR2(128 BYTE) NOT NULL。我们将其更改为允许空值并且我们的文件上传开始工作。

    【讨论】:

    • 猜我说得太早了。我们的上传程序是否需要修改?不仅 CONTENT_TYPE 没有被传递,DOC_SIZE 和 DAD_CHARSET 也没有传递。我知道我们可以添加一个 before_insert 触发器来处理这个问题,但这是否必要?
    猜你喜欢
    • 1970-01-01
    • 2021-05-12
    • 2016-02-17
    • 2018-01-21
    • 2018-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多