Eu escrevi um pequeno c # 4.0 winforms app para obter alguma entrada do usuário e, em seguida, passar isso como um parâmetro para um pacote do SSIS e, em seguida, executar o pacote.
Eu uso o seguinte código e funciona bem na minha máquina de desenvolvimento quando estou acessando o pacote no servidor de produção.
Microsoft.SqlServer.Dts.Runtime.Application app = new Microsoft.SqlServer.Dts.Runtime.Application();
Package createInvoice = app.LoadFromSqlServer("\MyPackage", "MyProducitonServer",
null, null, null);
createInvoice.Variables["PeriodID"].Value = _selectedPeriodId;
DTSExecResult result = createInvoice.Execute();
No entanto, quando eu implantar o aplicativo em uma máquina de usuáriosUsando uma configuração padrão msi, o aplicativo lança um erro dizendo que não pode encontrar uma classe de serviço de integração e que o servidor IS não está instalado na máquina.
Posso executar um pacote da máquina suers ou tenho que agendar um trabalho no agente sql para executar o pacote para mim?
obrigado
Respostas:
1 para resposta № 1O SSIS Runtime não é um pacote independente -é empacotado com Standard, Developer ou Enterprise. Se a máquina cliente não tiver o SQL Server instalado, você não poderá executar o pacote na máquina cliente.
Vejo Aqui para uma discussão.