How does Visual Studio SSIS Handle Extensions and Package Deployment? - sql-server

I'm fairly new to Visual Studio and SSIS and was wondering if someone could just clear up for me how Visual Studio SSIS Projects and Visual Studio in general handle Add-In Extension and Package Deployment.
The Scenario: I am currently developing and creating a Visual Studio SSIS Package on my local machine.I need to use an extension from the Tools > Extensions and Updates which just links me to a webpage.I need to install this and use it to make a package which I will deploy to the Integration Services Catalog on a SQL Server 2014 that does not have Visual Studio installed. When I deploy this project as a package will the things the extension did be baked into the package or is it like references where I will need to install the extension on the server that will be running the package via SQL Agent Job. Thanks, any help is appreciated.

When you deploy a package to the catalog, all libraries/extensions (eg.azure connection etc) are deployed along-with, so no special treatment is needed. But many a times you will need to ensure your frameworks( eg. .net 4.0 etc) exist for the extension to be executed on the integration services server you are deploying to.
In some cases you have to register the dlls using GACUtil, to the integration services server. Your custom tool installation instructions will specify that.

Related

What is the Visual Studio Enterprise 2022 workload component ID for SQL Server Integration Services Projects SSIS?

i'm creating an offline installation for vs22 to use it after withe an Ansible playbook , i'm using this DOC for that .
what i want is to find the workload component ID for SQL Server Integration Services Projects SSIS which you can download it from this link as an extension and there is no standalone installation file for it so i can't install it using cmd for example!
this is the CMD i use :
vs_enterprise.exe --noweb --add Microsoft.VisualStudio.Workload.ManagedDesktop --add Microsoft.VisualStudio.Workload.NetWeb --includeOptional
SSIS tooling is shipped as a Visual Studio Extension, not core Visual Studio workload. So you'll need to install the extension after VS is installed. See SSIS Projects extension for VS2022 troubleshooting guide - Offline Installation

How do I open a DTSX file in Visual Studio 2019?

How do I open a DTSX file for editing using Visual Studio 2019?
I have generated a DTSX file by using the Import Data wizard found in SQL Server Management Studio, using the same process outlined in this question. The answer to that question explains how to edit a .dtsx file, but it does not appear to be correct anymore. I am using Visual Studio 2019. The answer says I need to use this link to download SQL Server Data Tools for Visual Studio:
Download and install SQL Server Data Tools (SSDT) for Visual Studio
But at that link, it says:
Changes in SSDT for Visual Studio 2019
With Visual Studio 2019, the required functionality to enable Analysis Services,
Integration Services, and Reporting Services projects has moved into the
respective Visual Studio extensions. The core SSDT functionality to
create Database Projects has remained integral to Visual Studio (you
need to select the Data storage, and processing workload during
install). There's no more standalone SSDT installation required.
If you already have a license to Visual Studio 2019:
For SQL Database Projects, install the Data storage and Processing
workload for Visual Studio
For Analysis Services, Integration Services
or Reporting Services projects, install the appropriate extension(s)
from the marketplace
I believe I need Integration Services, but it doesn't have a link to the appropriate extension in the marketplace. Through various googling paths1, everything keeps pointing back to the SQL Server Integration Services Projects extension. I have installed this extension2, but I am still unable to open DSTX files.
Here's how I'm attempting to do it: In Visual Studio, am going to File|Open Project. Then I browse to the folder with the .dtsx file in it, change the filter to *.* (because .dtsx isn't in the list of supported project extensions), choose the file, and click Open. I get this message box:
So, my question again: How do I open a DSTX file from Visual Studio 2019?
See below for detailed versions and installed extensions.
1 For example, see Lesson 1-1: Create a new Integration Services project, where they create a DSTX project. The lesson's Prerequistes instructs you to install the SQL Server Data Tools from Download SQL Server Data Tools, which is the same link from above.
2 I note that version 3.1 of the extension is currently labeled a Preview and that release notes for this version includes the text, "This is the second preview release. We do not recommend using it for production." But I do not see where I am able to download an earlier version of this extension, either from the marketplace website or from in Visual Studio. I would try the latest production release if I could find it, but it doesn't seem to be available.
I also see there are two notes about issues with this preview release. Neither seem relevant to my situation. The first is a regression in VS 16.2 where they recommend upgrading to 16.2.3. I am already on 16.2.4. The second is an issue where the extension and/or Visual Studio Tools for Applications 2019 might be deleted during a VS instance upgrade. I have not done any upgrades to VS since installing this extension.
Installed Software
Visual Studio 2019, version 16.2.4
SQL Server Management Studio, version 17.9.1.
In Visual Studio, when I go to Help|About Microsoft Visual Studio, I also see the following listed in Installed Products (this list is not complete; it includes only the items that seemed relevant):
SQL Server Data Tools 16.0.61906.28070
SQL Server Integration Services 15.0.1301.433
In Visual Studio, when I go to Extensions|Manage Extensions, I see SQL Server Integration Services Projects in the list of installed extensions.
The error message indicates you are trying to open a project/solution. DTSX is a package.
You first need to open the .sln or .proj file. Within the project (solution explorer) you can open the dtsx. Do not try to open the dtsx file from the source control explorer as that does not open with the project references.
In summary, open the solution/project, then open the package from the solution explorer.
To edit and create integration services packages (.dtsx) is necessary to install SQL Server Integration Services Projects.
After installation Visual Studio 2019 can create or edit integration packages either independently (open file) or in Integration Services Project. It is also possible to open packages on SQL server even when SSMS fails with message:
Connecting to the Integration Services service on the computer "xxxx" failed with the following error: "Access is denied."
You will have to install SSMS, SSAS from VS Extensions> (In VS Menu, click "Extensions" and then "Manage Extensions

How to install SQL Server support for Visual Studio 2017?

I am not able to connect to SQL Server .dbml file. When I am trying to connect to SQL Server, it shows a message to "install the missing package". Now, when I am installing that missing plug-in, it just shows the progress bar and at last shows "Installation completed". But again when I try to connect, it shows the above error message.
Can anyone please help me to install it manually?
Step 1:
Step 2:
Step 3:
Search for and install the latest version of SSDT (Sql Server Data Tools).
I install Visual Studio (community edition) quite often and this happened to one of the PCs I develop on.
Uninstalling/Re-installing Visual Studio is what make this work.
Starting with Visual Studio 2017, the functionality of creating Database Projects has been integrated into the Visual Studio installation. There is no need to install the SSDT standalone installer for the core SSDT experience. To create Integration Services/Analysis Services/Reporting Services projects you still need the SSDT standalone installer.
For Database Projects, install the Data Storage and Processing workload for Visual Studio
For Analysis Services, Integration Services or Reporting Services projects, download and install SQL Server Data Tools

SQL Server Visual Studio SSIS Versioning

Something similar to my problem has been posted before but not quite like this. I have Visual Studio 2015 Version 14.0.25431.01 Update 3. I develop packages with this and deploy the project to SQL Server 12.0.4100.01. The packages run fine. Then I try to deploy from the ispac and I get the error:
There was an exception while loading Script Task from XML: System.Exception:
The Script Task redacted uses version 14.0 script that is not supported
in this release of Integration Services. To run the package, use the Script
Task to create a new VSTA script. In most cases, scripts are converted
automatically to use a supported version, when you open a SQL Server
Integration Services package in %SQL_PRODUCT_SHORT_NAME% Integration
Services.
at Microsoft.SqlServer.Dts.Tasks.ScriptTask.ScriptTask.LoadFromXML
(XmlElement elemProj, IDTSInfoEvents events)
I checked the xml in Visual Studio and unpacked the ispac to compare the code in each and all the versioning code is the same. Apparently there is an upgrade/downgrade operation happening when deploying from Visual Studio but doesn't happen when deploying from the ispac. Is there a way to create an ispac that is version compatible?
You can change the project property TargetServerVersion : SQL Server 2012/2014/2016
The script language will be changed automatically to Microsoft Visual c# 2010/2012/2015.
Note: First copy code from the script task and save it.

Can I deploy & Use SSIS SQL server DTS DLL's onto a machine that does not have SQL server 2008 installed?

Greets.
I've developed some SSIS packages that I want to load up and execute in C# code. The C# code is deployed on our application machine.
I've referenced the SQLServer.ManagedDTS DLL in my C# project.
I tried gac'ing that DLL on our staging application box, which incidentally also seemed to require gac'ing the SQLServer.DTSRuntimeWrap DLL as well.
The code to execute the package is like so
Runtime.Package package = new Runtime.Application().LoadPackage(ssisPackageFilePath, null);
package.Variables["FilePath"].Value = sourceFilePath;
//Excute Package to insert data from source csv file into a SQL table
Runtime.DTSExecResult results = package.Execute();
When I try to run the process I get the following error
An Integration Services class cannot be found.
Make sure that Integration Services is correctly installed on the computer that is running the application.
Also, make sure that the 64-bit version of Integration Services is installed if you are running a 64-bit application
I figured I should be able to simply gac (Install) the one DLL I used to develop the code that executes an SSIS dtsx package file.
I developed the package in a Visual studio 2008 BIDS project which results in a dtsx file.
I referenced the SqlServer.ManagedDTS DLL in a visual studio 2010 project to execute the dtsx file from code.
Tested and debugged locally with success.
What do I need to do to setup my application box in order for my code to be able to execute an SSIS package?
I'm hoping I'm not limited to only being able to execute packages from code on a box that has an instance of SQL server or IntegrationServices installed; which may mean the need for another license.
Do I need to install Integration Services on my app box?
Yes, you need to install Integration Services to run the package on a server. Just deploying DLLs into GAC won't help in executing a package.
Here is the MSDN link that describes about Running an SSIS Package Programmatically on a Remote Computer.
You need to have at least one server with Integration Services installed to be able to do what the MSDN article describes.

Resources