我需要从数据库记录中生成一个 XML 文件,并且出现“内存不足”错误。这是我正在使用的脚本,它是在谷歌上找到的,但它不适合我,而且它也在杀死服务器分配的内存。虽然这是一个开始。
#!/usr/bin/perl
use warnings;
use strict;
use XML::Simple;
use DBI;
my $dbh = DBI->connect('DBI:mysql:db_name;host=host_address','db_user','db_pass')
or die DBI->errstr;
# Get an array of hashes
my $recs = $dbh->selectall_arrayref('SELECT * FROM my_table',{ Columns => {} });
# Convert to XML where each hash element becomes an XML element
my $xml = XMLout( {record => $recs}, NoAttr => 1 );
print $xml;
$dbh->disconnect;
该脚本仅打印记录,因为我使用 where 子句对单个行 id 进行了测试。
首先,我无法将输出保存到file.xml。
其次,我需要以某种方式将“作业”拆分为多个作业,然后将 XML 文件全部放在一起。
我不知道如何实现两者。
约束:无权更改服务器设置。