Importação de dados SQL Server

SQL Server

22/05/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?
Danilo Roque

Danilo Roque

Curtidas 0

Respostas

Mariana Carvalho

Mariana Carvalho

22/05/2015

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

[url]https://msdn.microsoft.com/pt-br/library/ms186335.aspx[/url]
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

22/05/2015

Você está utilizando alguma ferramenta de integração de dados? Qual?
GOSTEI 0
Danilo Roque

Danilo Roque

22/05/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
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

22/05/2015

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

Danilo Roque

22/05/2015

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

Marisiana Battistella

22/05/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.
GOSTEI 0
Danilo Roque

Danilo Roque

22/05/2015

Sim, a importação será uma rotina diária
GOSTEI 0
Fabiano Carvalho

Fabiano Carvalho

22/05/2015

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

Caso tenha dúvida, retorne.
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

22/05/2015

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

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

Danilo Roque

22/05/2015

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.
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

22/05/2015

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

Danilo Roque

22/05/2015

Vou verificar, qualquer coisa volto aqui. Obrigado
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

22/05/2015

Por nada!
GOSTEI 0
Mariana Carvalho

Mariana Carvalho

22/05/2015

Veja se esse tutorial te ajuda. [url]https://msdn.microsoft.com/pt-br/library/ms169917.aspx[/url]
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?
GOSTEI 0
Fabiano Carvalho

Fabiano Carvalho

22/05/2015

@Mariana, sim.
GOSTEI 0
Mariana Carvalho

Mariana Carvalho

22/05/2015

@Mariana, sim.


ah ok, obrigada.
GOSTEI 0
POSTAR