在pl/sql中创建的表空间超出了db_fills的最大值?怎么回事?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在pl/sql中创建的表空间超出了db_fills的最大值?怎么回事?相关的知识,希望对你有一定的参考价值。

首先需要了解db_files参数的概念,这个参数会限制你当前数据库的最大数据文件个数。超过这个值肯定会报错。你当前数据库的数据文件已经达到这个值了,想继续添加数据文件只能关闭数据库,调大这个参数,之后重启数据库再做尝试。 参考技术A 可能是数据库的数据文件不是自动扩展的,或者它的使用率已经很高了

从 PL/SQL 调用 Web 服务时得到不支持的媒体类型

【中文标题】从 PL/SQL 调用 Web 服务时得到不支持的媒体类型【英文标题】:Got Unsupported Media Type when calling web service from PL/SQL 【发布时间】:2014-03-05 09:11:54 【问题描述】:

我编写了一些 PLSQL 代码来使用我在本地 PC 中创建的 Web 服务,但我总是遇到 Unsupported Media Type 异常,异常代码是 415。请参阅下面的代码:

PLSQL:

declare
   l_param_list  varchar2(512);
   l_http_request UTL_HTTP.req;
   l_http_response UTL_HTTP.resp;
   l_response_text varchar2(32000);
   l_soap_request varchar2(32000);
begin
-- service's input parameters
   l_soap_request := '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <add xmlns="http://tempuri.org/">
      <firstNum>3</firstNum>
      <secondNum>4</secondNum>
    </add>
  </soap:Body>
</soap:Envelope>';
--http://localhost:64955/Service1.asmx?op=add
--16.158.161.7
dbms_output.put_line('length of l_soap_request :' || length(l_soap_request));
dbms_output.put_line('l_soap_request : ' || l_soap_request);
-- prepareint Request...
   l_http_request := UTL_HTTP.begin_request ('http://localhost:64955/Service1.asmx'
                                            ,'POST'
                                            ,UTL_HTTP.HTTP_VERSION_1_1);

--...set header's attributes
UTL_HTTP.set_header(l_http_request,'Content-Type', 'text/xml; charset=utf-8');
UTL_HTTP.set_header(l_http_request,'Content-Type', length(l_soap_request));
UTL_HTTP.set_header(l_http_request,'SOAPAction','http://tempuri.org/add');
--...set input parameters
UTL_HTTP.write_text(l_http_request, l_soap_request);

-- get response and obtain received value
l_http_response := UTL_HTTP.get_response(l_http_request);

dbms_output.put_line('Response Received');
dbms_output.put_line('________');
dbms_output.put_line('Status Code : '||l_http_response.status_code);
--UTL_HTTP.read_text(l_http_response, l_response_text);
 dbms_output.put_line('Reason Phase : '||l_http_response.reason_phrase);
--dbms_output.put_line(l_response_text);
--dbms_output.put_line('test1');
utl_http.read_text(l_http_response,l_response_text);
dbms_output.put_line('Response : ');
dbms_output.put_line(l_response_text);
--finalizing
UTL_HTTP.end_response(l_http_response);

exception
   when UTL_HTTP.end_of_body then
        UTL_HTTP.end_response(l_http_response);
        dbms_output.put_line('test2');

end;

Web 服务是由 .NET 在 C# 中创建的:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

namespace Calculator

    /// <summary>
    /// Summary description for Service1
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    // [System.Web.Script.Services.ScriptService]
    public class Service1 : System.Web.Services.WebService
    

        [WebMethod]
        public string HelloWorld()
        
            return "Hello World";
        

        [WebMethod]
        public string add(string firstNum, string secondNum)
        
            int p1 = Convert.ToInt32(firstNum);
            int p2 = Convert.ToInt32(secondNum);
            return (p1 + p2).ToString();
        
    

谁能帮我解决我的代码或媒体类型有什么问题,什么是正确的媒体类型或如何知道正确的媒体类型是什么?

【问题讨论】:

【参考方案1】:

你正在用长度覆盖你的内容类型

UTL_HTTP.set_header(l_http_request,'Content-Type', length(l_soap_request));

你应该这样做:

UTL_HTTP.set_header(l_http_request,'Content-Length', length(l_soap_request));

【讨论】:

哦,MGD,那是我的错误。感谢您的帮助。

以上是关于在pl/sql中创建的表空间超出了db_fills的最大值?怎么回事?的主要内容,如果未能解决你的问题,请参考以下文章

oracle中新建的用户怎么查询它所有的表空间

如何在hadoop环境中创建的表中插入多条记录

怎样在pl/sql中创建,执行和删除存储过程

PL/SQL中 如何将两张结构完全一样的表合并?

在pl/sql中怎么查询所有存在的表,以及怎么样获得未知表中的某一字段

pl/sql如何现实像sqlserver中的树形结构目录界面,就是能查看表视图那样的界面。