September 9, 2011 at 1:16 pm
Have been creating packages for various purposes for several years. Love to work with them, they can do so much. However, now I need to run a package from a program that will be put on users' pc's. The code I originally used works great in development. See below:
Imports System.IO
Imports Microsoft.SqlServer
Imports Microsoft.SqlServer.Dts.Runtime
Imports System.Data
Imports System.Data.SqlClient
Public Class Form1
Private Sub btnRunPkg_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRunPkg.Click
Try
Dim app As New Application
Dim pkg As New Package
Dim pkgResults As DTSExecResult
app.PackagePassword = "temp"
pkg = app.LoadPackage("\\server\SSISPackages\myPkg.dtsx", Nothing)
pkgResults = pkg.Execute()
lblProgress.Text = pkgResults.ToString
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
However, when put on a test pc like the users have it errors saying: "MS.SqlServer.Dts.Runtime.DtsComException: An Integration Services class cannot be found." In essence it says to make sure Integration Services is installed on the computer running the application and to make sure it is 64 bit if the app is 64 bit. Is IS really needed on the client computer to run this package???? :w00t:
The cost of licensing prohibits that so how can I set it up so users can run this package with my vb.net program installed on their pc's?
September 11, 2011 at 10:01 pm
The short answer is - Yes, you do need to install SSIS on the client machine.
Your application needs to be able to load the SSIS binaries just the same as when it is trying to instantiate any other object from within your application. You can still load/run SSIS packages that are stored on another server (subject to permissions etc).
As for licensing - I can't answer that one. Maybe someone else can help out there.
Viewing 2 posts - 1 through 1 (of 1 total)
You must be logged in to reply to this topic. Login to reply