Array
(
)

Importação de dados SQL Server

Danilo Roque
|
MVP
    22 mai 2015

Estou com um trabalho na faculdade onde preciso realizar um plano de importação e exportação no sql server, já sei como fazer a importação e o agendamento, só estou com uma dúvida. Estou fazendo a importação usando o método OPENROWSET, com ele eu faço um select, seja em documentos xls, txt ou csv, e a partir desse select eu insiro os dados no banco, para não haver repetição dos dados estou apagando todos os dados e inserindo de novo, toda vez que realizo a importação, mas creio que isso não seja uma boa prática, nesse caso, qual a melhor opção?

Mariana Carvalho
   - 22 mai 2015

Boa tarde Vinicios, se eu entendi bem o seu problema é como se fosse apenas uma incrementação das importações?

https://msdn.microsoft.com/pt-br/library/ms186335.aspx

Marisiana
   - 22 mai 2015

Você está utilizando alguma ferramenta de integração de dados? Qual?

Danilo Roque
|
MVP
    22 mai 2015

Mariana, No agendamento, preciso realizar a importação todos os dias, seria para implementar, mas pode ser que haja alterações no arquivo base(xls ou txt), aí essas alterações precisariam ir para o banco também, não sei se deu para entender bem.

Marisiana, estou usando comandos via script mesmo:

SELECT * FROM OPENROWSET
('MSDASQL',
'Driver={Microsoft Access Text Driver (*.txt, *.csv)};
DefaultDir=C:\Adventure\;Extended properties=ColNameHeader=True;Format=Delimited(,);',
'SELECT * FROM arquivo.txt')

Vi que dá para fazer usando o SSIS, mas pelo que vi é só pelo assistente, queria realizar via script mesmo para poder agendar as tarefas. Obrigado

Marisiana
   - 22 mai 2015

Entendi... Mas de qualquer forma, sempre que houver alteração na fonte de dados você terá que adaptar a importação...

Danilo Roque
|
MVP
    22 mai 2015

Entendi, então a forma que estou fazendo, de apagar tudo e inserir de novo não é má prática?

Marisiana
   - 22 mai 2015

Mas você faz isso todos os dias?
O ideal é que seja modelada uma estrutura que armazene todas as informações necessárias sem que haja a necessidade de realizar alterações a menos que surja uma nova necessidade que tenha que ser contemplada.

Danilo Roque
|
MVP
    22 mai 2015

Sim, a importação será uma rotina diária

Faabiianooc
   - 23 mai 2015

caso não tenha alteração de colunas pode-se utilizar o BULK INSERT, ou o proprio BCP.

Caso tenha dúvida, retorne.

Marisiana
   - 23 mai 2015


Citação:
Sim, a importação será uma rotina diária

Se você utilizar a SSIS, você pode automatizar a carga diária de dados tranquilamente...

Danilo Roque
|
MVP
    23 mai 2015


Citação:

Citação:
Sim, a importação será uma rotina diária

Se você utilizar a SSIS, você pode automatizar a carga diária de dados tranquilamente...

Sabe como eu posso fazer isso? Desde já agradeço.

Marisiana
   - 23 mai 2015

Veja se esse tutorial te ajuda. https://msdn.microsoft.com/pt-br/library/ms169917.aspx
Não conheço essa ferramenta, mas é uma boa opção para fazer integração de dados....

Danilo Roque
|
MVP
    23 mai 2015

Vou verificar, qualquer coisa volto aqui. Obrigado

Marisiana
   - 23 mai 2015

Por nada!

Mariana Carvalho
   - 23 mai 2015


Citação:
Veja se esse tutorial te ajuda. https://msdn.microsoft.com/pt-br/library/ms169917.aspx
Não conheço essa ferramenta, mas é uma boa opção para fazer integração de dados....


Já faz parte do SQL Server ou não?

Faabiianooc
   - 23 mai 2015

@Mariana, sim.

Mariana Carvalho
   - 23 mai 2015


Citação:
@Mariana, sim.


ah ok, obrigada.