Programming SSIS - Minimum Runtime Requirements On The Application Server
Dec 21, 2007
Hi,
I have a VB.NET program which creates a Job (Microsoft.SqlServer.Management.Smo.Agent.Job) and schedules it, to load and run a existing SSIS package, which is on a different server.
I'm using the following assemblies for this purpose.
To make this application run in my application server, do i have to install any SQL server components or SSIS rumtime components? Or Is it enough if i copy only the above mentioned dlls to my applications bin directory, in my application?
Note: I have the enterprise edition of SQL Server 2005 installed on my database server.
I do get the warning about Minimum Hardware Requirement, but can find nothing in the detail requirements to exclude my PCs configuration.
I have installed:
IE 6.0 sp1
IIS as a part of Win 2000 Professional Edition SP4
I have also used ..aspnet_regiis -r to register ASP.NET 2.0
.NET Framework 2.0
SQL Server Native Client
SQL Server Setup support files
PC includes:
Pentium III 800 MHz
512 MB memory
HardDrive C: 5.92 GB (1.37 GB free)
HardDrive D: 13.1 GB (9.11 GB free)
I have tried several times to install SQL Server 2005 Developer Edition (most recently from MSDN Disk 3097.1) I have tried to complete an uninstall before each attempt.
This doesn't make any sense. I am trying to install SQL Server 2005 on SBS 2003 with Service Pack 1. According to Windows Update, there is nothing left for me to install. However, I am getting this error (while installing SQL Server Express and the Developer Edition):
"Your operating system does not meet Service Pack level requirements for this SQL Server release. Install the Service Pack from the Microsoft Download Center at http://go.microsoft.com/fwlink/?LinkId=50380, and then run SQL Server setup again."
When I go to the link, there is nothing there to download (it takes me to the main Microsoft download page). I meet all the requirements that I have found. What gives?
The computers here at work run Windows 2000 5.00.2195 SP4. Everything checks out with the minimum requirements at http://msdn.microsoft.com/vstudio/express/support/sqlreadme/#_3462_setup_issues_238p
However, one of the "Reports" from the installation says the machine does not meet the minimum requirements, but provides no details. It installs and I have Admin rights on this machine, but I can't even connect to the Northwind database that I downloaded.
Is this due to our logging process where the "system" is actually in another country? (ie, "CITYNAME/Username"
Is it necessary to have SSIS installed on the Server (SQL Server) in order to run SSIS programs? Or is SSIS just a client-side, developer tool that can create and test programs against various remote data sources (SQL, Oracle, flat files, etc.)?
What must be installed on the server in order to run SSIS programs?
I have seen it mentioned that, unlike with the MSDE where DTS runtime was covered, the new SSIS is not covered by the SQL Server 2005 Express.
Does anybody know of an official microsoft web page detailing comprehensively what is required.
As far as I can gather the client will need a full version of SQL Server 2005, enabling the installation of the client tools, which as far as I can tell are required for the running of the SSIS.
This statement could be totally wrong but clear information seems hard to come by and seems mainly hearsay.
Am I correct in assuming that installing a SQL EE application on to a local runtime desktop would require a lot of experienced user intervention to install the SQL to each local cpu? Can a SQL app be installed automatically w/o a user intervening?
I am working on sql server integration services..New to this topic...I want to transfer data from flat file to sql database by doing it programatically.Creating source,destination and transform adapters
my basic question is should the source,transform and destination adapter be bulid for each file i am trying to transfer.
I am trying to bring the data from Oracle to SQL Server. And, I need to write this in C#. All that I have is a source table in Oracle and a source table in SQL Server. I need to have some samples.
I'm running packages from C# code and thus I need to create an instance of SqlServer.DTS.Runtime.Application. In my maching, creating the application instance doesn't even take 1 sec but when the application was deployed to our QA server creating the instance took 30 secs (always ... every single time with no exception).
this single code is taking the 30 secs:
Application integrationService = New Application();
Does anyone have any idea what I need to check or configure to make this faster?
I have been creating SSIS packages programmatically and have run into somewhat of a dead end. I have found the examples provided with the SQL 2005 install very helpful, but they only cover setting up three tasks: Sort task, OleDB Source and a Flat File Destination.
Does anyone have any examples or knows of examples of using the Merge Join task and the Conditional Split task?
I'm doing it all programmatically and so far I'm having trouble finding much in the way of documentation or examples.
Can someone tell me what are the security watchouts there are in running SSIS or the SQL Server Agent? I am having trouble running a job on a package that runs fine through Integration Services. The only difference seems to be that SQL Server Agent is running the job on the schedule.
Does SQL Server Agent need to have certain rights?
Do I need to be part of a certain group besides Admin?
Does the package need to have a particular security for someone to run the job?
I was finally able to get the package set but now I can't schedule the thing to work.
Hello. I am attempting to use SSIS to import a table from MS Access in to SQL Server. However, when i set the destination component properties I get the following error:
Exception from HRESULT: 0xC0204006 The table exists within the destination database and if I comment the line out, it is able to acquire the connection.Anyone have any ideas? Thanks
//Add a dataflow task to the package. MainPipe dataFlowTask = ((Microsoft.SqlServer.Dts.Runtime.TaskHost)package.Executables.Add("DTS.Pipeline")).InnerObject as MainPipe;
// Iterate through the virtual column collection. foreach (IDTSVirtualInputColumn90 vColumn in vInput.VirtualInputColumnCollection) { string y = vColumn.Name; // Call the SetUsageType method of the design time instance of the component. instance1.SetUsageType(input.ID, vInput, vColumn.LineageID, DTSUsageType.UT_READONLY); }
Microsoft.SqlServer.Dts.Runtime.DTSExecResult result = package.Execute();
Hello, I got an exception when I try to load/run a SSIS Package programmatically on the server using remoting. The client machine has no SQL Server 2005 component installed..
This is the error I get from my exe application:
Microsoft.SqlServer.Dts.Runtime.DtsPipelineException: Retrieving the COM class factory for component with CLSID {E44847F1-FD8C-4251-B5DA-B04BB22E236E} failed due to the following error: 80040154. ---> System.Runtime.InteropServices.COMException (0x80040154): Retrieving the COM class factory for component with CLSID {E44847F1-FD8C-4251-B5DA-B04BB22E236E} failed due to the following error: 80040154. at Microsoft.SqlServer.Dts.Runtime.Application..ctor()
And this the Remote component:
<Serializable()> Public Class SSISComponent
Inherits MarshalByRefObject
Public Function LaunchPackage(ByVal sourceLocation As String, ByVal serverName As String, ByVal packageName As String, ByVal packageVariables As SortedList) As Microsoft.SqlServer.Dts.Runtime.DTSExecResult
Dim packagePath As String Dim myPackage As Package Dim integrationServices As New Application ' Combine path and filename. packagePath = Path.Combine(sourceLocation, packageName) Try If integrationServices.ExistsOnDtsServer(packagePath, serverName) Then myPackage = integrationServices.LoadFromDtsServer(packagePath, serverName, Nothing) Else Throw New ApplicationException( "Invalid package name or location: " & packagePath) End If If Not packageVariables Is Nothing Then For Each de As DictionaryEntry In packageVariables myPackage.Variables(de.Key).Value = de.Value Next End If LaunchPackage = myPackage.Execute() Catch ex As Exception Throw End Try End Function End Class
This is the code that call the remote component to run the package on the Server: Public Class Test Private Function LoadAndRunPackageRemotly(ByVal PackageName As String, ByVal PackageVariables As SortedList) As Boolean
Dim launchPackageService As New SSISComponent Dim packageResult As Microsoft.SqlServer.Dts.Runtime.DTSExecResult Try packageResult = launchPackageService.LaunchPackage(Me.SSISPackageLocation, Me.SSISServerName, PackageName, PackageVariables) If packageResult = DTSExecResult.Success Then LoadAndRunPackageRemotly = True Else LoadAndRunPackageRemotly = False End If Catch ex As Exception Throw End Try End Function End Class
I would like to inform that everything run inside a thread because the Package do a lot of things... When I build up the setup for the exe inside the Detected Dependencies there are several DLL related to SQL Server (Microsoft.SQLServer.DTSRuntimeWrap.dll etc..etc..) that I don't register .. Tis could be the problem? If yes, somebody can tell me which one I have to register ? as COM or COMRelativePath? Some other hints?
This error could be also caused by wrong permissions on the ssis? Thank you very much for any help... p.s. To use sql server agent will be my last option!! Marina b.
I've got some machines that output text files after each shot of parts. I'd like to take the data in those files and parse it and insert it into a SQL Server database for future massaging. The text files look like the example I've posted below. Can SSIS parse out the set points and actual values even though the file isn't CSV or tab delimited and the data is kind of 'strewn' all over the report? Each report does have the exact same format so the report format doesn't change from report to report, just the data. Thanks in advance.
Ernie
WP4.57 C Y C L E P R O T O C O L
Order data 18.05.06 11:27:57
Order number : 2006 Recipe no. : 15761
Machine number : 7 Recipe name : Stabilizer Bar Innsulator
Machine Operator: 1257 Art.descrip.: Stabilizer Bar Grommet
p.s. Does anyone have any needles I can borrow? I think sticking them in my eyes would be nicer than working with SSIS.
===================================
An error occurred while objects were being copied. SSIS Designer could not serialize the SSIS runtime objects. (Microsoft Visual Studio)
===================================
Could not copy object 'Preparation SQL Task' to the clipboard. (Microsoft.DataTransformationServices.Design)
------------------------------ For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%u00ae+Visual+Studio%u00ae+2005&ProdVer=8.0.50727.762&EvtSrc=Microsoft.DataTransformationServices.Design.SR&EvtID=SerializeComponentsFailed&LinkId=20476
------------------------------ Program Location:
at Microsoft.DataTransformationServices.Design.DtsClipboardCommandHelper.SerializeRuntimeObjects(ICollection logicalObjects) at Microsoft.DataTransformationServices.Design.ControlFlowClipboardCommandHelper.InternalMenuCopy(MenuCommand sender, CommandHandlingArgs args)
===================================
Invalid access to memory location. (Exception from HRESULT: 0x800703E6) (Microsoft.SqlServer.ManagedDTS)
------------------------------ Program Location:
at Microsoft.SqlServer.Dts.Runtime.PersistImpl.SaveToXML(XmlDocument& doc, XmlNode node, IDTSEvents events) at Microsoft.SqlServer.Dts.Runtime.DtsContainer.SaveToXML(XmlDocument& doc, XmlNode node, IDTSEvents events) at Microsoft.DataTransformationServices.Design.DtsClipboardCommandHelper.SerializeRuntimeObjects(ICollection logicalObjects)
After creating this package i found that 'InventTable" is not set to OLE Db Source component. where as i can set name to OLE DB Flat File destination component.
We're having some issues migrating things we wrote in BIDS to other boxes.
It would seem that to use Fuzzy match (which we are really happy with):
1> You can write a DTSx package that uses Fuzzy Match inside BIDS and run it on Standard Edition 2> You cannot run this package outside of BIDS except on a server that has Enterprise Installed 3> If you have Standard Edition installed on a machine, and want to run a DTSx that uses Fuzzy match, you have to de-install absolutely everything and re-install everything with the Enterprise edition CD and patch it.
In our environment, we want to run DTS packages from C# code. Up to this point, we have Enterprise edition on the server, and standard edition on the developers workstations because they are provisioned with MSDN licenses; some developers have standard edition (because they like having a local instance to play around with).
Apparently we have to install Enterprise on every single developers workstation in order for them to test dts packages from inside a C# program!! But it's obviously installed already because it runs from BIDS. This doesn't make any sense to us.
Did we set something up wrong? We're looking at hours and hours of work to reload all the workstations... to run one program that calls a DTS package from c#.
at System.Data.Common.DbConnectionOptions..ctor(String connectionString, Hashtable synonyms, Boolean useOdbcRules)
at System.Data.SqlClient.SqlConnectionString..ctor(String connectionString)
at System.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(String connectionString, DbConnectionOptions previous)
at System.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup(String connectionString, DbConnectionPoolGroupOptions poolOptions, DbConnectionOptions& userConnectionOptions)
at System.Data.SqlClient.SqlConnection.ConnectionString_Set(String value)
at System.Data.SqlClient.SqlConnection.set_ConnectionString(String value)
at System.Data.SqlClient.SqlConnection..ctor(String connectionString)
at ScriptTask_dbe60b31acf14201b5f012a4f1c608c2.ScriptMain.GetAppParameterCMD(String strParamaterName) in dts://Scripts/ScriptTask_dbe60b31acf14201b5f012a4f1c608c2/ScriptMain:line 49
at ScriptTask_dbe60b31acf14201b5f012a4f1c608c2.ScriptMain.Main() in dts://Scripts/ScriptTask_dbe60b31acf14201b5f012a4f1c608c2/ScriptMain:line 27
How can we install the SSIS runtime components alone.
We are calling SSIS packages from .NET code. We would like to know what are the minimum components we need to install in the machine in which the .NET code is running.
How can I update a variable in the XML configuration file. Can I use the configuration object for it or do I need to use XML objects and do it just like any other XML file?
Another problem I have is, I know I can reference the same XML config file from 2 different packages. But every time I do that through the wizard, only the last package configurations are placed in the XML file.
I am using SQL Server 2005 Version 9.00.1399.06 (Intel X86).
Whether I try to start a new Integration Services project in Visual Studio or try to import data into a database I receive the following error:
SSIS Runtime Object could not be created. Verify the DTS.dll is available and registered. The wizard can not continue and will terminate.
Unable to cast COM of type 'Microsoft.SqlServer.DTS.Runtime.Wrapper.PackageNeutralClass' to interface type 'Microsoft .SqlServer.DTS.Runtime.Wrapper.IDTSContainer90' This operation failed because the QueryInterface call on the COM component for the interface failed due to the following error: Library not registered. (Exception from HRESULT: 0X80028010) (TYPE_E_LIBNOTREGISTERED)).
I have no idea why I am getting this error and would appreciate any help. I'm sure some of you SQL Server Gurus will know right away.
ESQL1 will get max(id) from table and then based on the ID the remaining needs to be work.
Ex: If the ID=AUS-Sdy-1 then ESQL2 will update the tbl1 and return one IDkey based on this return key the ESQL3 will update a tbl2. ----------*( i want to disable ESQL4) else If the ID=AUS-Sdy-2 then ESQL3 will update the tbl1 and return one IDkey based on this return key the ESQL4 will update a tbl2. ----------- *(i want to disable ESQL2)
My Logic is INSERT NEw Reocrds And Updated Existing Records With Some Condiotion .
In Source query Some select Columns with Where Condiotion .This Where Condition Field value should pass at that time of Runtime Parameter. How to Achieve Parameter value pass in OLEDB Source at run time.
Please any one give me the Solution. I am struggling with INSERT , UPDATE Records With Paramet condiotion,? Any one give Sample Insert and Update with Parameter using Oracle Database?
I am using SQL Server 2005 Version 9.00.1399.06 (Intel X86).
Whether I try to start a new Integration Services project in Visual Studio or try to import data into a database I receive the following error:
SSIS Runtime Object could not be created. Verify the DTS.dll is available and registered. The wizard can not continue and will terminate.
Unable to cast COM of type 'Microsoft.SqlServer.DTS.Runtime.Wrapper.PackageNeutralClass' to interface type 'Microsoft .SqlServer.DTS.Runtime.Wrapper.IDTSContainer90' This operation failed because the QueryInterface call on the COM component for the interface failed due to the following error: Library not registered. (Exception from HRESULT: 0X80028010) (TYPE_E_LIBNOTREGISTERED)).
I have no idea why I am getting this error and would appreciate any help. I'm sure some of you SQL Server Gurus will know right away.
This may be a very easy question to answer, but I cannot figure out the answer for the life of me. I have set up a simple SSIS project based on a template that gathers information from several servers. I would like for this package to be almost completely automated and run nightly. Is there a setting I can add to make it run everyday?
Can the WaitForMe Task property be used for building eventing based tasks (that is, "tasks with no defined execution lifecycle"), as Haselden's IS book terms it?
The SSIS run-time would appear to never interrogate this property. I tried setting a breakpoint in a custom task on the WaitForMe property. The breakpoint was never hit at run-time. Design-time only. It seems that the run-time ignores this property.
The documentation states that "On completion of any task, the runtime examines tasks that are still running in the container, and if any of these tasks have WaitForMe set to false, those tasks will be canceled." Well, the tasks with WaitForMe set to false are in fact not cancelled (e.g. System::CancelEvent is not signalled).
The intention of the WaitForMe Task property is to allow for event based tasks to not prevent a package (or other container) from finishing if the event never happens.
Tasks like the WMI Event Watcher, Message QueueTask set to receive, and third party tasks like file watchers, or service broker queue receivers would seem to fall in this category.
I'm in the process of writing a fairly complex SSIS package that reads csv files and goes on to load the content into a SQL Server 2005 database.
I am testing the package by executing it from within a Nant script. My test process resets the data in the target database and then loads data from a known set of test data files. Because it's scripted I can be sure that SSIS is being asked to do the same thing, every time in a consistent way.
When I execute the package I frequently (although not always) get an error message dialog mid-ececution that reads:
Code Snippet
Microsoft Visual c++ Runtime Library
Runtime error!
Program: C...
The application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information.
When I click OK the VS Just-In-Time debugger tells me about an unhandled win32 exception in DTExec.exe [4696] and asks me if I wish to debug (which I do not).
No error is reported by SSIS itself, it literally just stops in its tracks.
I will appreciate any help that can be offered here