Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.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 在Mysql或Oracle数据库中加载一个大json文件_Java_Php_Mysql_Json_Oracle - Fatal编程技术网

Java 在Mysql或Oracle数据库中加载一个大json文件

Java 在Mysql或Oracle数据库中加载一个大json文件,java,php,mysql,json,oracle,Java,Php,Mysql,Json,Oracle,在工作中,我们为其他服务提供文件。它们的大小介于5到500毫米之间。 我们希望使用Json而不是XML,但我想知道我们的客户如何才能做到这一点 在数据库、Oracle或Mysql中轻松上传这些文件。 我的意思是,在Mysql或oracle中,我在web APi或函数或工具上找不到这样做的工具。 我知道一个数据一个数据地加载一个小Json文件,对每个文件进行解码是很容易的 对象或数组,并将它们放在数据库中的正确位置。 但有没有其他方法可以做到这一点,比如Oracle中的sqlloader? 若是这

在工作中,我们为其他服务提供文件。它们的大小介于5到500毫米之间。 我们希望使用Json而不是XML,但我想知道我们的客户如何才能做到这一点 在数据库、Oracle或Mysql中轻松上传这些文件。 我的意思是,在Mysql或oracle中,我在web APi或函数或工具上找不到这样做的工具。 我知道一个数据一个数据地加载一个小Json文件,对每个文件进行解码是很容易的 对象或数组,并将它们放在数据库中的正确位置。 但有没有其他方法可以做到这一点,比如Oracle中的sqlloader? 若是这样的话,我们的文件的大小是否太大而不能生成JSON文件,比如JAVA? 我想自动执行此加载工作可能会比较困难,特别是因为这样的阵列:

{"employees":[
    {"firstName":"John", "lastName":"Doe", "salaryHistory":[1000,2000,3000]},
    {"firstName":"Anna", "lastName":"Smith", "salaryHistory":[500,800]},
    {"firstName":"Peter", "lastName":"Jones", "salaryHistory":[400]}
]}
在这些地方,工资记录一定会产生问题,因为它们的大小不同,而且数据也不疯狂 在同一张桌子上。 欢迎任何想法或帮助

编辑

我正在寻找一种解决方案,将每个数据放在表的好列中,我不需要在简单表的单个列中存储Json结构

像这样: 表employees:列为id、FirstName、lastName和 表salaryHistory:列为id、订单、薪资


每个数据都必须放在好的列中,比如firstname中的“John”,lastname中的“Doe”,然后在新的表salaryHistory中的“1000”,在另一个表salaryHistory中的“2000”,等等。

从MySQL 5.7开始,有一种新的数据类型:JSON。 查看更多详细信息

对于Oracle 12c:

create table transactions (
   id      number not null primary key,
   trans_msg       clob,
   constraint 
   check_json check (trans_msg is json)
);
定期插入:

insert into transactions
values
(
   sys_guid(),
   systimestamp,
'{
   "TransId"         :   3,
   "TransDate"       :   "01-JAN-2015",
   "TransTime"       :   "10:05:00",
   "TransType"       :   "Deposit",
   "AccountNumber"   :   125,
   "AccountName"     :   "Smith, Jane",
   "TransAmount"     :   300.00,
   "Location"        :   "website",
   "CashierId"       :   null,
   "ATMDetails"      :   null,
   "WebDetails"      : {
                     "URL"   : "www.proligence.com/acme/dep.htm"
              },
   "Source"   :   "Transfer",
   "TransferDetails"   :
            {
               "FromBankRouting"   : "012345678",
               "FromAccountNo"   : "1234567890",
               "FromAccountType"   : "Checking"
            }
}'
)
/
SQL*加载程序控制文件和数据文件:

load data into table transactions
fields terminated by ','
(
  trans_id    sequence(max,1),
  fname       filler char(80),
  trans_body  lobfile(fname) terminated by EOF
)

这是Oracle12c数据库中JSON的起始链接:谢谢你的回复,但我的问题一定很混乱,你的答案不是我想要的。但是你帮我修改了我的帖子,使之更加准确。祝您有个美好的一天!可能重复的