我需要使用DBI连接对象序列化一个数组,以便使用共享内存与其他进程共享。但反序列化无效。
使用可储存qw/冻融/;
my @connections;
for(my $c = 0;$c < 5;$c++) {
my $conn = DBI->connect($dsn,$user,$password,{'AutoCommit' => 1, 'RaiseError' => 1, 'PrintError' => 0});
push(@connections,$conn);
}
my $shm = freeze(@connections);
my $obj = thaw($shm);返回错误:全局符号
"$drh“需要显式的包名(您忘记声明"my $drh”了吗?)在第6行。
发布于 2016-07-29 22:12:18
您不能序列化数据库句柄/连接,因为它由不可存储的用户空间数据(即外部Perl和数据库库中,也可能在TLS库中)和内核数据(如文件描述符)组成。
https://stackoverflow.com/questions/38667901
复制相似问题