932b9b0e2c35dcf871c9e737ab1cc95283bf3851
[spider.git] / perl / DXSql.pm
1 #
2 # The master SQL module
3 #
4 # $Id$
5 #
6 # Copyright (c) 2006 Dirk Koopman G1TLH
7 #
8
9 package DXSql;
10
11 use strict;
12
13 our $active = 0;
14
15 sub init
16 {
17         return $active if $active;
18         
19         eval { 
20                 require DBI;
21         };
22         unless ($@) {
23                 import DBI;
24                 $active++;
25         }
26         return $active;
27
28
29 sub new
30 {
31         my $class = shift;
32         my $dsn = shift;
33         my $user = shift;
34         my $passwd = shift;
35         my $self;
36         
37         return undef unless $active;
38         my $dbh;
39         eval {$dbh = DBI->connect($dsn, $user, $passwd); };
40         $self = bless {dbh => $dbh}, $class if $dbh;
41         return $self;
42 }
43
44 sub finish
45 {
46         my $self = shift;
47         $self->{dbh}->disconnect;
48
49 1;
50