Coleta de dados de um banco de dados Firebird para um banco de dados SQLServer express por linkserver sql

19/12/2015

0

Boa tarde !
Gostaria de uma ajuda com relação a uma coleta de dados.
Tenho um linkserver e preciso de tempo em tempo consulta-lo e salvar os dados acrescentados em uma tabela, isso sendo que seria o ideal que fosse feito como um procedimento que fique rodando "eternamente", em quanto o pc estiver ligado e se possivel iniciar junto com o sqlserver 2014 express.

tentei usar um comando insert into tabela select * from openquery(linkserver, 'select * from tabela') , em um procedimento mais o mesmo não funciona.

as duas tabelas são identicas embora a de inserir não tem campos not null.

desde já agradeço.
Ronan Teixeira

Ronan Teixeira

Responder

Posts

19/12/2015

Jothaz

1-Crie uma stored procedure para fazer o insert;
2-Crie um Job para executar a procedure e
3-Configure o Job para rodar em intervalos de acordo com sua necessidade.
Responder

19/12/2015

Ronan Teixeira

O sqlserver express não da suporte a job's eu acho. Só em versões pagas.

Teria um modelo aí ?
Responder

19/12/2015

Jothaz

Esta tarefa é somente como pesquisa ou é um trabalho para algum cliente?

Sugeri o Job porque você não deixou claro que estava usando SQL Server Express Edition, que por não contar como SQL Agente e impossibilita a criação/automação de Jobs.
Responder

19/12/2015

Ronan Teixeira

Sim eu citei no primeiro post aí em cima que era express . kkk

Só tem essa forma de fazer ?

Na verdade é uma aplicação que estou querendo fazer pra min mesmo. Não é para cliente. Tenho um banco de dados de um programa só que ele gera no formato Firebird não tem como mudar porém gosto de trabalhar com sqlserver.
Responder

19/12/2015

Ronan Teixeira

O express até executa SP tipo insert ,delete, update
O problema mesmo é que consigo fazer a consulta pelo linkserver mais quando trago para SP no startup do server ele não execulta o CMD openquery.
Responder

19/12/2015

Jothaz

Desculpe-me, foi mal não vi a referência ao Express.

Tem anos que não uso o Express então nem me lembro bem de suas restrições.

E não sei dizer o porque deste pau no OpenQuery.

Uso Linked Server com outro banco de dados sem problemas. Firebird usei a muitos anos e achei uma merda, mas é só minha opinião. E sei que algumas vezes não temos escolhas e temos de usar o que temos a disposição.

Para conseguir o que você quer eu vejo dois caminhos:

1-Criar um WindowsService, no caso o C# é a melhor opção que vai rodar nos intervalos definidos e executar a SP para incluir os dados.

2-Ou usar um .bat com o Windows Task Scheduler, que também funciona. Pesquise por "How create job SQL Server Express" que acredito que irá ajudar.

Ou esperemos que outros colaboradores do fórum dêem outras sugestão.
Responder

19/12/2015

Ronan Teixeira

Vou pesquisar sim e obrigado pela dica.

Se der certo vou postar a resolução.


Obrigado.
Responder

20/12/2015

Marcos P


2-Ou usar um .bat com o Windows Task Scheduler, que também funciona. Pesquise por "How create job SQL Server Express" que acredito que irá ajudar.


Isso resolve seu problema...
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar