locked
Atualizar registros com Lookup RRS feed

Respostas

  • Bruno,

     

    Completando minha resposta, segue alguns links

    http://microsoft-ssis.blogspot.com/2011/01/slowly-changing-dimension-alternatives.html

    http://bennyaustin.wordpress.com/2010/05/29/alternatives-to-ssis-scd-wizard-component/

     

    Tome como nota, o SCD é muito lento, para grandes tabelas dimensões, voce tera problemas, sei que as alternativas não são tão simples, porem, muitas vezes, são necessarias.


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    • Marcado como Resposta Bruno.Costa sexta-feira, 2 de dezembro de 2011 12:35
    segunda-feira, 28 de novembro de 2011 13:24
    Moderador
  • Bruno,

     

    Não, veja, o cenario esta assim:

    Voce tem uma massa de dados a ser inserida e existem 2 possibilidades:

    1- O que for novo, insere (Conforme te ajudei e mostrei....)

    2- O que for igual atualizar todos os registros, ou seja, não é uma nova insersão, é apenas uma atualização, e sim, por traz ira rodar um insert e um update, mas feito pelo SSIS diretamente....


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    • Marcado como Resposta Bruno.Costa sexta-feira, 2 de dezembro de 2011 12:36
    segunda-feira, 28 de novembro de 2011 15:01
    Moderador
  • Bruno,

     

    Rs...sem problemas..

     

    A questão é o seguinte, voce deve ou utilizar apenas o Slowly CHanging dimension, por que ele ja faz tudo para voce, ou seja, identifica novos registros (A partir de uma chave de negocio especificada por voce) e os insere e a patir da mesma chave, faz a atualização dos outros campos caso haja alguma alteração, portanto seu data flow ficaria:

    Data Source -> SlowLy Changing dimension -> (O SLD vai abrir 2 ou 3 caixinhas novas) e pronto, apenas isso.

    A vantagem em sua utilização é a facilidade, realmente muito simples e intuitivo de se configurar, sua desvantagem é a performance, ele ira ler linha por linha, registro por registro, muito lento para tabelas dimensões muito grandes.

     

    Ou então, voce deve se basear nos links que enviei acima, utilizando o lookup e outros componentes, que irão fazer exatamente a mesma coisa que o slowly changing dimension, porem sera muito mais rapido, e dara muito mais trabalho...

    Qual voce deve utilizar, depende exclusivamente de sua massa de dados, se voce me falar que é apenas uma coluna varchar + id em sua tabela, com em torno de maximo 50.000 linhas, eu usaria o slowly chaning dimension, tabelas maiores, ja começaria a pensar na outra solução.


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    • Marcado como Resposta Bruno.Costa sexta-feira, 2 de dezembro de 2011 12:36
    segunda-feira, 28 de novembro de 2011 15:18
    Moderador
  • Bruno,

     

    Essa situação é o seguinte: "Caso ja encontre sua bussines key, o que fazer?"

    Enfim, voce tera 3 possibilidades:

    1. Atualizar (Na mesma linha)

    2. Não atualizar (Ou seja, descartar atualizações)

    3. Criar historico (Ou seja, criar uma nova linha, com todas as informações que não houveram alterações identicas, porem com os novos dados...)


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    • Marcado como Resposta Bruno.Costa sexta-feira, 2 de dezembro de 2011 12:36
    segunda-feira, 28 de novembro de 2011 15:28
    Moderador
  • Bruno,

     

    Não existe tabela temporaria com o SCD, ele faz tudo sózinho, voce só configure:

    Entrada: Dados

    Apontar: Business Key e o que fazer com os campos que não são bussiness key caso a bussiness key ja exista

    Ele ira criar tudo sózinho.

    Veja a primeira imagem do link http://microsoft-ssis.blogspot.com/2011/01/slowly-changing-dimension-alternatives.html

    Ele colocou o data source e o SCD, os 2 ultimos componentes de insert e update no banco, o proprio SCD criou

    Portantanto, essa caixinha representa 100% do que voce quer fazer com a utilização do SCD, esqueca tabela temporaria ou lookup quando utilizar esse componente, ele ira configurar tudo sózinho ^^

     

    No caso da segunda imagem do mesmo site, ele esta utilizando os Look ups junto com inserts manuais, ou seja, não ha utilização do SCD, mas mesmo assim, não existe tabela temporaria no SCD, o que voce esta chamando de tabela temporaria são os dados que não existem no destino, mas essa é uma visão errada, pense no SSIS como fluxo de dados, e o que cada seta ira enviar para o proximo componente, no caso do look up, quando voce selecionou o not match para inserir direto no banco, quer dizer que apenas os dados, segundo o campo que voce apontou, que são inexistentes na tabela destino passaram para a proxima task, mas não criou em momento algum uma tabela temporaria.

     

    Estou criando um aqui manual para te mostrar....

     

    No caso a imagem, usa uma tabela fixa de dados temporarios, mas não é necessario....


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    segunda-feira, 28 de novembro de 2011 15:51
    Moderador
  • Bruno,

     

    Criei um post para te auxiliar, veja:

    http://fabrizziocaputo.wordpress.com/2011/11/30/criando-o-sld-slowly-changing-dimension-manualmente-para-ganho-de-performance-ou-para-bids-2005/


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    • Marcado como Resposta Bruno.Costa sexta-feira, 2 de dezembro de 2011 12:36
    quarta-feira, 30 de novembro de 2011 15:04
    Moderador

Todas as Respostas

  • Bruno,

     

    Esse post meu, é para apenas inserir novos registros a partir da PK, para a atualização de dados, a opção mais simples é a utilização do Slowly Changing Dimension.


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    segunda-feira, 28 de novembro de 2011 12:40
    Moderador
  • Bruno,

     

    Completando minha resposta, segue alguns links

    http://microsoft-ssis.blogspot.com/2011/01/slowly-changing-dimension-alternatives.html

    http://bennyaustin.wordpress.com/2010/05/29/alternatives-to-ssis-scd-wizard-component/

     

    Tome como nota, o SCD é muito lento, para grandes tabelas dimensões, voce tera problemas, sei que as alternativas não são tão simples, porem, muitas vezes, são necessarias.


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    • Marcado como Resposta Bruno.Costa sexta-feira, 2 de dezembro de 2011 12:35
    segunda-feira, 28 de novembro de 2011 13:24
    Moderador
  • Fabrizzio,

    Agora não entendi camarada!!

    Em outro tópico, vc mencionou que o Slowly não é recomendado para minha situação?

    []s

    segunda-feira, 28 de novembro de 2011 13:36
  • Bruno,

     

    O slowly é muito simples de se configurar, mas tem uma performance horrivel, na segunda resposta, apenas te passei alternativas mais performaticas para tal situação.


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    segunda-feira, 28 de novembro de 2011 13:38
    Moderador
  • blz..vou fazer o exemplo.

    então não é possível atualizar dados com o Lookup?

    []s

    segunda-feira, 28 de novembro de 2011 13:41
  • Bruno,

     

     

    Não, o look up, conforme o proprio nome ja diz, é apenas para bater dados, "é um join"....


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    segunda-feira, 28 de novembro de 2011 13:42
    Moderador
  • ..fabrizzio,

    daí eu não entro na questão anterior? De ter que usar SQL com INSERT e UPDATE para funcionar?

    []s

    segunda-feira, 28 de novembro de 2011 14:59
  • Bruno,

     

    Não, veja, o cenario esta assim:

    Voce tem uma massa de dados a ser inserida e existem 2 possibilidades:

    1- O que for novo, insere (Conforme te ajudei e mostrei....)

    2- O que for igual atualizar todos os registros, ou seja, não é uma nova insersão, é apenas uma atualização, e sim, por traz ira rodar um insert e um update, mas feito pelo SSIS diretamente....


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    • Marcado como Resposta Bruno.Costa sexta-feira, 2 de dezembro de 2011 12:36
    segunda-feira, 28 de novembro de 2011 15:01
    Moderador
  • Fabrizzio,

    1. Sim!! Sem dúvidas vc me ajudou! E muito por sinal!! Talvez nem eu me ajudaria tanto assim... =D

    2. Essa é a questão do dia! Como fazer? Devo usar o Lookup e o Slowly juntos?

    Vc me desculpa com essas perguntas, mas como deve perceber, tô chegando aos 0,2% de conhecimento em SSIS!!

    []s

    segunda-feira, 28 de novembro de 2011 15:10
  • Bruno,

     

    Rs...sem problemas..

     

    A questão é o seguinte, voce deve ou utilizar apenas o Slowly CHanging dimension, por que ele ja faz tudo para voce, ou seja, identifica novos registros (A partir de uma chave de negocio especificada por voce) e os insere e a patir da mesma chave, faz a atualização dos outros campos caso haja alguma alteração, portanto seu data flow ficaria:

    Data Source -> SlowLy Changing dimension -> (O SLD vai abrir 2 ou 3 caixinhas novas) e pronto, apenas isso.

    A vantagem em sua utilização é a facilidade, realmente muito simples e intuitivo de se configurar, sua desvantagem é a performance, ele ira ler linha por linha, registro por registro, muito lento para tabelas dimensões muito grandes.

     

    Ou então, voce deve se basear nos links que enviei acima, utilizando o lookup e outros componentes, que irão fazer exatamente a mesma coisa que o slowly changing dimension, porem sera muito mais rapido, e dara muito mais trabalho...

    Qual voce deve utilizar, depende exclusivamente de sua massa de dados, se voce me falar que é apenas uma coluna varchar + id em sua tabela, com em torno de maximo 50.000 linhas, eu usaria o slowly chaning dimension, tabelas maiores, ja começaria a pensar na outra solução.


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    • Marcado como Resposta Bruno.Costa sexta-feira, 2 de dezembro de 2011 12:36
    segunda-feira, 28 de novembro de 2011 15:18
    Moderador
  • ...fabrizzio,

    e essa situação como fica? pois eu selecionei o business key e depois fiquei parado nessa situação..pois aqui em "Dimensions Columns" não existe valores para eu selecionar.


    • Editado Bruno.Costa segunda-feira, 28 de novembro de 2011 15:27
    segunda-feira, 28 de novembro de 2011 15:27
  • Bruno,

     

    Essa situação é o seguinte: "Caso ja encontre sua bussines key, o que fazer?"

    Enfim, voce tera 3 possibilidades:

    1. Atualizar (Na mesma linha)

    2. Não atualizar (Ou seja, descartar atualizações)

    3. Criar historico (Ou seja, criar uma nova linha, com todas as informações que não houveram alterações identicas, porem com os novos dados...)


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    • Marcado como Resposta Bruno.Costa sexta-feira, 2 de dezembro de 2011 12:36
    segunda-feira, 28 de novembro de 2011 15:28
    Moderador
  • sim. só que eu não tenho opções para selecionar em Dimensions Columns.

    ..outra coisa, como faço para "puxar" 2 setas verdes no Lookup?

    []s

    segunda-feira, 28 de novembro de 2011 15:32
  • Bruno,

     

    Se voce não tem nada para selecionar em dimension column, quer dizer que voce colocou todas elas como bussiness Key, ou seja, qualquer coisa diferente do que estiver no banco, em qualquer coluna, entrara como uma linha nova.

     

     


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    segunda-feira, 28 de novembro de 2011 15:33
    Moderador
  • ..consegui "puxar" as setas verdes! =D
    segunda-feira, 28 de novembro de 2011 15:33
  • Bruno,

     

    Como voce puxou as 2 setas verdes para um unico look up?


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    segunda-feira, 28 de novembro de 2011 15:36
    Moderador
  • na verdade eu puxei do lookup para o oledb.

    fiz conforme o exemplo.

    vamos a situação:

    - você me passou 2 soluções: uso do SCD ou implementar os links acima.

    1. para eu usar o SCD terei que criar uma tabela temporária, conforme tópico anterior. No entanto, essa tabela temporária não fica acessível no
    SSIS x Management Studio. Daí, com ficaria essa solução?

    2. Vc disse que essa é menos "custosa" para o servidor, só que mais trabalhosa, certo? O Insert e Update eu adiciona dentro do OleDb?

    []s

    segunda-feira, 28 de novembro de 2011 15:41
  • Bruno,

     

    Não existe tabela temporaria com o SCD, ele faz tudo sózinho, voce só configure:

    Entrada: Dados

    Apontar: Business Key e o que fazer com os campos que não são bussiness key caso a bussiness key ja exista

    Ele ira criar tudo sózinho.

    Veja a primeira imagem do link http://microsoft-ssis.blogspot.com/2011/01/slowly-changing-dimension-alternatives.html

    Ele colocou o data source e o SCD, os 2 ultimos componentes de insert e update no banco, o proprio SCD criou

    Portantanto, essa caixinha representa 100% do que voce quer fazer com a utilização do SCD, esqueca tabela temporaria ou lookup quando utilizar esse componente, ele ira configurar tudo sózinho ^^

     

    No caso da segunda imagem do mesmo site, ele esta utilizando os Look ups junto com inserts manuais, ou seja, não ha utilização do SCD, mas mesmo assim, não existe tabela temporaria no SCD, o que voce esta chamando de tabela temporaria são os dados que não existem no destino, mas essa é uma visão errada, pense no SSIS como fluxo de dados, e o que cada seta ira enviar para o proximo componente, no caso do look up, quando voce selecionou o not match para inserir direto no banco, quer dizer que apenas os dados, segundo o campo que voce apontou, que são inexistentes na tabela destino passaram para a proxima task, mas não criou em momento algum uma tabela temporaria.

     

    Estou criando um aqui manual para te mostrar....

     

    No caso a imagem, usa uma tabela fixa de dados temporarios, mas não é necessario....


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    segunda-feira, 28 de novembro de 2011 15:51
    Moderador
  • Fabrizzio,

    Joguei um OleDbSource + um SCD e fiz o relacionamento deles.

    Só que isso, não resultou em um DestinationInsert e DestinationUpdate.

    []s

    segunda-feira, 28 de novembro de 2011 16:02
  • ..fabrizzio,

    e como eu "avancaria" no procedimento? novamente fiquei parado conforme a imagem acima.

    []

    segunda-feira, 28 de novembro de 2011 16:13
  • Bruno,

     

    2 segundos, estou montando um exemplo para voce... poderia postar um email aqui para eu enviar o projeto + source de criação de tabela + excel para voce ver ai na sua maquina?


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    segunda-feira, 28 de novembro de 2011 16:14
    Moderador
  • Fabrizzio,

    Voce pode usar o e-mail que entrei em contato contigo semana passada.

    Tem ele ai?

    []s

    segunda-feira, 28 de novembro de 2011 16:36
  • Bruno,

     

    Enviado, Qualquer duvida favor perguntar aqui, para que outras pessoas possam tirar proveito das informações tambem.


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    segunda-feira, 28 de novembro de 2011 16:46
    Moderador
  • ..fabrizzio, arquivo recebido!

    funcionando, pode ter certeza que deixarei tudo explicado aqui!

    obrigado.

    []s

    segunda-feira, 28 de novembro de 2011 16:47
  • Bruno,

     

    Não tive um retorno seu, conseguiu evoluir? Alguma duvida em que eu possa te ajudar?


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    terça-feira, 29 de novembro de 2011 12:51
    Moderador
  • Fabrizzio,

    Fiquei sem internet a manhã inteira.

    Até o final do dia volto aqui!

    []s

    terça-feira, 29 de novembro de 2011 15:51
  • Confesso que esse erro de caracter nao tenho ideia de onde seja. Esse "invalid character value for cast specification".

    Error: 0xC0202009 at Data Flow Task, OLE DB Command [1629]: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E21.

    An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80040E21 Description: "Invalid character value for cast specification".

    terça-feira, 29 de novembro de 2011 16:23
  • Bruno,

     

    Voce esta fazendo algum cast via tsql ou utilizando o data conversion em algum lugar?


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    terça-feira, 29 de novembro de 2011 16:24
    Moderador
  • ..veja a imagem.


    O erro é no OLE DB Command...
    • Editado Bruno.Costa terça-feira, 29 de novembro de 2011 16:38
    terça-feira, 29 de novembro de 2011 16:36
  • Bruno,

     

    E quando voce executa, qual componente fica vermelho?


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    terça-feira, 29 de novembro de 2011 16:37
    Moderador
  • OLEDB Command
    terça-feira, 29 de novembro de 2011 16:41
  • Bruno,

     

    A ultima aba do OLEDB command, voce especifica quais são os campos de entrada, e os atribui a um parametro (Na penultima aba é feita a tribuição), porem na ultima, voce tem que definir um data type, imagino que esteja entrando um varchar por exemplo, e voce não alterou, portanto o default sera numeric, ai o erro de conversão.


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    terça-feira, 29 de novembro de 2011 16:42
    Moderador
  • isso mesmo...

    só que na minha base os campos são:

    idprocesso - int

    numero - varchar

    ..não seria isso?

     

    terça-feira, 29 de novembro de 2011 16:49
  • Bruno,

     

    Criei um post para te auxiliar, veja:

    http://fabrizziocaputo.wordpress.com/2011/11/30/criando-o-sld-slowly-changing-dimension-manualmente-para-ganho-de-performance-ou-para-bids-2005/


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    • Marcado como Resposta Bruno.Costa sexta-feira, 2 de dezembro de 2011 12:36
    quarta-feira, 30 de novembro de 2011 15:04
    Moderador
  • fabrizzio,

    ..vou verificar! ;)

    []s


    • Editado Bruno.Costa quarta-feira, 30 de novembro de 2011 15:23
    quarta-feira, 30 de novembro de 2011 15:06
  • fabrizzio,

    a situação continua a mesma meu velho!!

    os datatype dos parametros não alteram. estão errados.

    ex:

    o id era para ser int está como string.

    []s

    quarta-feira, 30 de novembro de 2011 15:23
  • Bruno...

     

    Algo ficou preso, sugiro reiniciar todo o procedimento...


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    quarta-feira, 30 de novembro de 2011 16:07
    Moderador
  • ...amigo, confesso que esse datatypes estão "presos" desde segunda feira..

    já refiz o processo várias vezes.

    acredito sim! que possa ser algo simples...o problema.

    []s

    quarta-feira, 30 de novembro de 2011 16:17
  • ...consegui!!

    deletei os parametros criados. adicionando outros em seguida, com o datatype correto!!

    ufa!! demorou, mas foi!! processo de importação dos dados cadastro/alteração concluído!!

    []s

    sexta-feira, 2 de dezembro de 2011 12:35
  • Bruno,

     

    Show cara!, Falei que estava algo simples errado ainda.... Legal cara, parabens!


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    sexta-feira, 2 de dezembro de 2011 12:38
    Moderador
  • Fala Fabrizzio,

    Beleza?

    Em relação ao baixo desempenho do SCD que citastes logo acima, o SCD não compensa o seu menor desempenho por não inserir quando não há atualizações nos  "atributos de mudança"?

    por exemplo:

    look up --> MATCH -->  atualiza (sempre)

    SCD --> MATCH --> atualiza (só se os campos tiveram seus valores alterados)

     

    Gostaria de entender melhor esta questão pois fiz alguns testes de desempenho (look up vc SCD) nas integrações que realizei e achei que o SCD tinha um desempenho melhor por não inserir se os dados não mudaram.

    obs: ao utilizar o SCD criei um index para minha business key (dae ficou mega rapido) agora SCD sem index para a business key chega a bater um desespero de tão lento.

     


    Juliandro Figueiró Analista de Business Intelligence - Accera Supply Chain Solutions
    sexta-feira, 9 de dezembro de 2011 19:44
  • Juliandro,

     

    Sim, conformo informo no meu blog, melhor seria fazer as verificações, então não se resumiria apenas ao Look up, teria outros componentes para realizar a verificação se ha necessidade de alteração ou não.

    Pois sim, dessa forma simples (Didatica, para o Bruno), ele ira atualizar os outros registros todas as vezes, tornando-o mais lento em alguns casos.

    Porem ainda sim é muito relativo a quantidade de colunas que voce possui por exemplo, melhor seria analisar caso a caso, mas fazendo correramente 100%, o look up com Command sera mais rapido.


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    sexta-feira, 9 de dezembro de 2011 19:49
    Moderador