データベース レコードから XML ファイルを生成する必要があるのですが、「メモリ不足」というエラーが発生します。これが私が使用しているスクリプトです。Googleで見つけましたが、私には適していません。また、サーバーの割り当てられたメモリを殺しています。スタートですが。
#!/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;
単一の行 ID の where 句でテストしたため、このスクリプトはレコードのみを出力します。
まず、出力をfile.xmlに保存することができませんでした。
第 2 に、「ジョブ」を複数のジョブに分割し、XML ファイルをすべて 1 つにまとめる必要があります。
両方を達成する方法がわかりません。
制約:サーバー設定を変更するためのアクセス権はありません。