Win32::SqlServer::DTS::Task - a Perl base class to access Microsoft SQL Server 2000 DTS tasks


Win32-SqlServer-DTS documentation Contained in the Win32-SqlServer-DTS distribution.

Index


Code Index:

NAME

Top

Win32::SqlServer::DTS::Task - a Perl base class to access Microsoft SQL Server 2000 DTS tasks

SYNOPSIS

Top

    use Win32::SqlServer::DTS::Task;

    # $task is an already instantied class using Win32::OLE
    my $custom_task = Win32::SqlServer::DTS::Task->new( $task->CustomTaskID, $task->CustomTask );

    # prints the custom task name
    print $custom_task->get_name, "\n";

DESCRIPTION

Top

Win32::SqlServer::DTS::Task is an base class to be subclassed: one should not use it directly (although it may work). See SEE ALSO for more information about the classed that uses Win32::SqlServer::DTS::Task as part of their inheritance.

EXPORT

Nothing.

METHODS

new

Creates a new Win32::SqlServer::DTS::Task object. It should be overrided by subclasses, since it defines only general attributes. Expects a DTS Task object. Returns a new Win32::SqlServer::DTS::Task object.

One should not invoke this method directly, unless wants to extended the DTS API. See Win32::SqlServer::DTS::Package for more information about how to fetch Win32::SqlServer::DTS::Task objects easialy.

get_name

Returns a string with the name of the task.

get_description

Returns a string with the description of the task.

get_type

Returns a string of type of the task.

get_properties

Deprecated. This method is not as useful as it may be seen, since the to_string method does a better job reporting everything about the Task.

to_string

Not implemented. Some tasks fetch their properties in a different manner. Use this method only in subclasses from Win32::SqlServer::DTS::Task.

If this method is not override in subclasses it will cause the application to die. Once overrided, it will fetch and return a string with all properties in a nicely manner for printing.

SEE ALSO

Top

* Win32::OLE at perldoc.
* Win32::SqlServer::DTS::Package at perldoc to see how to fetch Win32::SqlServer::DTS::Task objects.
* Win32::SqlServer::DTS::TaskFactory at perldoc to see how to instantiate new objects from Win32::SqlServer::DTS::Task subclasses in a polymorphic way.
* MSDN on Microsoft website and MS SQL Server 2000 Books Online are a reference about using DTS' object hierarchy, but one will need to convert examples written in VBScript to Perl code.

AUTHOR

Top

Alceu Rodrigues de Freitas Junior, <arfreitas@cpan.org>

COPYRIGHT AND LICENSE

Top


Win32-SqlServer-DTS documentation Contained in the Win32-SqlServer-DTS distribution.
package Win32::SqlServer::DTS::Task;

use 5.008008;
use strict;
use warnings;
use Carp qw(confess);
use base qw(Win32::SqlServer::DTS);
use Win32::SqlServer::DTS::TaskTypes;

our $VERSION = '0.02';

sub new {

    my $class = shift;
    my $task  = shift;

    my $self = { _sibling => $task->CustomTask };

    bless $self, $class;

    my $sibling = $self->get_sibling;

    $self->{name}        = $sibling->Name;
    $self->{description} = $sibling->Description;

    my $type = Win32::SqlServer::DTS::TaskTypes::convert( $task->CustomTaskID );

    if ( defined($type) ) {

        $self->{type} = $type;
        return $self;

    }
    else {

        confess 'Type '
          . $sibling->CustomTaskID
          . ' is not a implemented Win32::SqlServer::DTS::Task subclasses';

    }

}

sub get_name {

    my $self = shift;
    return $self->{name};

}

sub get_description {

    my $self = shift;
    return $self->{description};

}

sub get_type {

    my $self = shift;
    return $self->{type};

}

sub to_string {

    confess "print_properties must be defined in a specialized Win32::SqlServer::DTS::Task class\n";

}

1;
__END__