[Cascavel-pm] publicação no CPAN dos módulos de acesso à DTS

Solli Honorio shonorio em gmail.com
Sexta Fevereiro 9 07:21:06 PST 2007


On 2/9/07, glasswalk3r em yahoo.com.br <glasswalk3r em yahoo.com.br> wrote:
>
> Solli Honorio shonorio em gmail.com wrote:
>
> > Grande Alceu, fico muito contente em vê-lo tão ativo e agora escrevendo
> o
> > teu nome no santo repositório. Só faltou o nome do módulo, e quando não
> foi
> > a minha surpresa que o cara já começou com um namespace completo ! O DTS
> > 'pertence' ao sr. Alceu :)
>
> Obrigado Solli. Mas eu ainda não estou certo sobre o namespace "pertencer"
> a mim: eu ainda não recebi um email com aprovação formal da escolha do
> namespace. Como eu esperei quase uma semana depois de fazer o pedido antes
> de publicar o módulo e o próprio PAUSE incentivar a publicação do módulo,
> eu resolvi arriscar.


Sem querer ser  bicudo, e já sendo, existe a possibilidade de vc mudar o
namespace para MSSQL::DTS ? Assim eu poderia ajudar com os outros caras de
SQL que eu tenho, o MSSQL::Jobs, MSSQL::Table, MSSQL::Index,
MSSQL::Database.

> Acho interessante abstrair toda esta complexidade, ao contrário do grande
> > Nelson.
>
> Foi com essa intenção que eu resolvi escrever o módulo. Internamente ele
> faz todas as chamadas via Win32::OLE. Usando essa API eu consegui fazer
> testes unitários de pacotes com poucas linhas de código, como o exemplo
> abaixo:
>
> use DTS::Application;
> use Test::More tests => 6;
> use XML::Simple;
>
> my $xml = XML::Simple->new();
> my $config = $xml->XMLin('test-config.xml');
>
> my $app = DTS::Application->new($config->{credential});
>
> my $package =
>   $app->get_db_package( { name => $config->{package} } );
>
> ok( !$package->log_to_server, 'Log to SQL Server should be disable' );
> ok( defined( $package->get_log_file ), 'Log to flat file is enable' );
> ok( !$package->use_event_log,
>     'Write completation status on Event log should be disable' );
> ok(
>     $package->use_explicit_global_vars,
>     'Global variable are explicit declared'
> );
> cmp_ok( $package->count_connections, '>=', 2,
>     'Package must have at least two connections' );
> cmp_ok( $package->count_datapumps, '>=', 1,
>     'Package must have at least one datapump task' );
>
> Claro que as regras de testes são específicas. Não creio que seja possível
> fazer testes genéricos, você teria que planejar com antecedência como o
> pacote DTS deveria ser desenvolvido.
>
> > Este cara não pode ser executado via SQL ? Eu não tenho certeza, mas
> quando
> > eu estava desenvolvendo uns scripts de monitoramento de SQL, eu traduzi
> > todas API acessíveis via OLE para os comandos SQLs do MS SQL Server.
> Talvez
> > seja possível fazer o mesmo com o DTS, e com isto portável !
>
> Sim, é possível executar pacotes DTS via procedures do SQL Server. Mas não
> sei se é possível obter informações, alterar ou até mesmo criar em memória
> um pacote DTS inteiro.


Vou dar uma pequena olhada nisto este final de semana, se eu conseguir lhe
aviso.

Se isso for possível, então realmente isso pode se tornar portável. Mas eu
> não sei responder se o uso de COM não dá mais controle do que via
> procedures (provavelmente sim, eu arriscaria dizer).
>
> Esse aqui é um artigo bastante interessante sobre uso de Perl + DTS:
> http://www.oreillynet.com/pub/a/databases/2006/12/21/dts-imports.html.
>
> []'s
> Alceu
>
> --------------------------------------------------------------------
> mail2web.com - Microsoft(r) Exchange solutions from a leading provider -
> http://link.mail2web.com/Business/Exchange
>
>
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20070209/59490a65/attachment-0001.html 


Mais detalhes sobre a lista de discussão Cascavel-pm