Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的Oracle存储过程调用。所需的设计建议_Java_Stored Procedures - Fatal编程技术网

Java中的Oracle存储过程调用。所需的设计建议

Java中的Oracle存储过程调用。所需的设计建议,java,stored-procedures,Java,Stored Procedures,我正在寻找针对客户特定要求的设计建议。需求是从外部数据仓库系统获取所需数据,并基于此生成报告 我的系统是用Java构建的,外部DW系统不能为我们提供任何Web服务,因此我们提出了一个想法,并要求DW系统提供存储过程。下面是我对这个设计的想法。 从我的系统中获取所需的数据,并将信息传递给DW存储过程。例如,选择在特定日期之间创建的所有客户,并传递客户号数组(两个系统中唯一且相同) DW SP将返回数据块,例如客户编号、客户名称、设备名称、成本e.t.c 从DW SP返回的任何数据生成和XML数据,

我正在寻找针对客户特定要求的设计建议。需求是从外部数据仓库系统获取所需数据,并基于此生成报告

我的系统是用Java构建的,外部DW系统不能为我们提供任何Web服务,因此我们提出了一个想法,并要求DW系统提供存储过程。下面是我对这个设计的想法。
  • 从我的系统中获取所需的数据,并将信息传递给DW存储过程。例如,选择在特定日期之间创建的所有客户,并传递客户号数组(两个系统中唯一且相同)
  • DW SP将返回数据块,例如客户编号、客户名称、设备名称、成本e.t.c
  • 从DW SP返回的任何数据生成和XML数据,并从中生成报告

    我现在关注的是:

    有没有更好的方法?由于数据输入和输出量未知,是否存在任何挑战或限制?
  • DW SP(StoredProcedure)正在数组中获取值,数组中传递给SP的数据量是否有限制?是否存在任何性能问题?
  • 由于DW SP从不同数组中的多个列返回数据,因此很难映射每个记录,因为其中一个列数据可能为空,在这种情况下,可能无法插入空数据,并且获取的行数据不一致,要解决这一问题,有没有更好的方法?例如桌子


    感谢您在这方面的想法和帮助

    如果data ware house系统也使用Oracle数据库,您可以将其链接到Java系统数据库,并使用简单的SQL查询,这将使您的体系结构更简单


    如果data ware house系统也使用Oracle数据库,您可以将其链接到Java系统数据库,并使用简单的SQL查询,这将使您的体系结构更简单


    我同意,但DW系统具有其他系统无法共享的敏感信息。我可以尝试请求它,但是我确信请求会因为这个原因被拒绝。如果存在安全问题,DW DBA可以授予对特定表的只读访问权,并撤销对其他表的访问权。顺便说一句,他们应该做同样的事情,授予您访问权限,以便在您向该方向移动时只执行存储过程。我知道您要去哪里,但是,已经讨论过了,他们只能为我们提供一个SP。我们也请求查看,但后来被拒绝了。我想您应该尝试说服您的客户,使用存储过程将使系统在将来难以维护和扩展,并且使用DB链接,或者提供一个视图比编写一个存储过程要好得多。如果您无法说服他们,那么祝您的解决方案好运:):)谢谢Omar,但是您注意到我提到的设计中的主要问题是什么?我同意,但是DW系统有一些敏感信息,其他系统无法共享。我可以尝试请求它,但是我确信请求会因为这个原因被拒绝。如果存在安全问题,DW DBA可以授予对特定表的只读访问权,并撤销对其他表的访问权。顺便说一句,他们应该做同样的事情,授予您访问权限,以便在您向该方向移动时只执行存储过程。我知道您要去哪里,但是,已经讨论过了,他们只能为我们提供一个SP。我们也请求查看,但后来被拒绝了。我想您应该尝试说服您的客户,使用存储过程将使系统在将来难以维护和扩展,并且使用DB链接,或者提供一个视图比编写一个存储过程要好得多。如果你不能说服他们,那么祝你的解决方案好运:)谢谢Omar,但是你注意到我提到的设计的主要问题是什么?