SSIS Google Analytics Issue: "Unable to cast COM object" - sql-server

I'm using the GA Analytics data source for Data Tools 2012. I'm able to log-in and use the component within an SSIS package, debug and run the package, fetch and load data (to OLE DB target). No problems!
But when I try to deploy the package to SSIS Catalog on local or remote servers, the package throws the following validation error: "Unable to cast COM object of type 'System.__ComObject' to interface type 'Microsoft.SqlServer.Dts.Pipeline.Wrapper.IDTSComponentMetaData100'. This operation failed because the QueryInterface call to the COM component for the interface with IID '{887BD061-82D4-4F06-A222-33D4E7F896}' failed due to the following error: No such interface supported"...
I've made sure to isolate the problem down to it's core. I've created a package with only the GA data source on it, and ran into the same issue. I have no problem deploying or executing any other ssis packages / components.
Aside from deploying the SSIS Package to the SQL Server SSIS Catalog, I've also tried to run the Execute Package Utility 2014 to run the package. I run into the same validation / execution error as listed above.
The only way I can run this package now is to run it in debug mode through VS / DT 2012 - Manually!
Also, I feel like maybe the components OAuth session is being lost upon deployment.. and if it isn't.. I don't know how I would otherwise reset an OAuth connection for GA data source on a remote server (without having a VS/DT installed)..
Can anyone please help shed light on this issue?
What is the proper deployment strategy for packages containing the GA SSIS DataSource?
What would be an alternative and effective way to schedule such a package on a production server?
Is there a known fix for this issue?

I had the same issue. As it turned out I was using VS2012. The GA loader on VS2012 is compatible with MSSQL2012. To use the loader on MSSQL2014 you will need VS2013.
Hope this helps!

Related

SSIS to Oracle "Could not create a managed connection manager."

I'm trying to use SSIS to load some data from Oracle database to MSSQL database.
I created the project and used the ADO.Net source and was able to create a connection to Oracle and run queries and view results.
However when I actually run the package I get the following error:
Error: 0xC0208449 at Data Flow Task, ADO NET Source 2: ADO NET Source has failed to acquire the connection {EECB236A-59EA-475E-AE82-52871D15952D} with the following error message: "Could not create a managed connection manager.".
It seems similar to the issue here
And I did find that I have two oracle clients version installed "11.1" and "12.2".
One is used by PL/SQL and the other by other entity framework project.
If this is the issue I just wanted a way to tell the SSIS to pick-up the correct one.
I tried adding Entry in machine.config for "oracle.manageddataaccess.client" section with the desired version.
I also tried using other types of data sources but couldn't even create a successful connection
I tried changing the Run64bitRuntime property in the project to False
Note: I don't have SSIS installed on my machine.
Eventually, I just had to remove the entries related to 11.1 in path variable then restarted my machine.
Also I switched to "dotConnectForOracle" for connection and now it seems to be working fine.
I'm expecting issues related to other applications that might still be using the 11.1 version, but that will be a problem for another day.
Always make sure to write the user (oracle schema) in uppercase and some special characters [in my case it was $] in the password needs escape character even if you're using the wizard not the cmd
I still don't understand the whole issue but I hope this helps someone some day.

KingswaySoft SSIS error when Published - A password is required

I've created a package that gets some information from a sql database and inserts them into Dynamics CRM.
When testing the package from Visual Studio everything goes as expected and the task finishes without any errors and the rows get inserte . However , when I publish the package to SSISDB on Sql Server the package fails with this error :
KingswaySoft.IntegrationToolkit.DynamicsCrm.CrmServiceException : CRM service call returned an error : A password is required in order to establish the connection ...
I tried changing the package protection level to EncryptSensitiveWithUserKey but it still gives the same message as above , created the package again from scratch still doesn't work . This package was working before , maybe there's something I did the last time in configuration which made it work but I cannot replicate it anymore .
Also I tried the Integrated Authentication it says this :
KingswaySoft.IntegrationToolkit.DynamicsCrm.CrmServiceException : CRM service call returned an error : The caller was not authenticated by the service .
#Drinv, this is a typical SSIS runtime deployment issue. You need to make sure that you have provided a password for your job configuration for the connection manager. What you provided to the package doesn't count as far as sensitive fields are concerned (password being one) when you are using the EncryptSensitiveWithUserKey option since user key is not transferrable between different systems or different users. An easy workaround is to change your SSIS package/project's ProtectionLevel setting to encrypt using a password instead, although it may not be the best practice. If you still have trouble getting this going, please reach out to us directly, our team can walk you through the issue.
I found out what I was doing wrong .
My SSIS project was on Project Deployment Model and I was trying to deploy only the package. After making my connections available on project level and deploying the whole project everything worked as expected .

Cannot acquire a managed connection from the run-time connection manager

I need to extract data from C4C and I use SSIS and Odata connector to do the job. It worked fine for a couple of month but now my SSIS job is not working any more since 2 days and I cannot find any tips on the web. I tried the registry key, update my VS to 2017 but nothing worked! I'm sure it's related to TSL1.2 but don't know how to fix it. In development tools, I can see data in preview mode but when I execute the job it gives me an error:
Cannot acquire a managed connection from the run-time connection manager

SSIS Project level Connection Managers and ExecuteOutOfProcess - not working

This question was asked by someone else before on this forum but it seems nobody could provide an answer:
I have a SSIS 2012 project with about 30 package and they are all using connection managers defined at the project level. These packages are all beeing run from a master package with Execute SQL tasks and the property ExecuteOutOfProcess = false.
However some of these packages are high volume and use a lot of ressources causing memory errors, so I would like to run these packages out of process. When I set the ExecuteOutOfProcess = true in the Execute SQL task, I get an error like this:
"Error: 0xC0022102 at Id_Frequency: Error 0x80010105 while executing package from project reference package "Id_Frequency.dtsx". The server threw an exception"
It seems to me that when beeing run out of process, the package does not see the project level connections.
Has anyone seen this before ?
Thank you very much,
Chris

How to resolve the error loading SSIS packages using 32-bit dtexec on a x64 machine?

I have Integration Services packages that need to work with Excel files (shudder) and also need to execute on x64. I have a handle on the whole SSIS x64 vs. 32-bit issue, so I am scheduling these problem-child packages using MS suggested technique of using SQL Agent job step type Operating System / CMDExec, with a command line string that explicitly calls the 32-bit dtexec. So far so good.
Here's the issue: the packages still fail to load, and complain about failing to load not the Excel bits, but instead my handy Log Provider that logs to SQL Server. This is the error message, edited for object names:
Started: 2:33:01 PM
Error: 2009-07-24 14:33:06.51
Code: 0xC0010018
Source:
Description:
Error loading value "<DTS:ConnectionManager xmlns:DTS="www.microsoft.com/SqlServer/Dts"><DTS:Property DTS:Name="DelayValidation">0</DTS:Property><DTS:Property DTS:Name="ObjectName">My_LogCon</DTS:Property><DTS:Property DTS:Name="DTSID">{86320FE6-AEFD-4A58-9277-84685B9B9" from node "DTS:ConnectionManager".
End Error Could not load package "c:\folder\mypkg.dtsx" because of error 0xC0010014.
Description: The package failed to load due to error 0xC0010014 "One or more error occurred. There should be more specific errors preceding this one that explains the details of the errors. This message is used as a return value from functions that encounter errors.". This occurs when CPackage::LoadFromXML fails. ... Process Exit Code 5. The step failed.
The packages run perfectly in 32-bit Visual Studio/debug. Anyone seen this type of thing?
From the 70-488 book:
Dtexec, dtutil, and the SQL Server Import and Export Wizard have both
a 64-bit and a 32-bit application. Be sure to note that if you develop
a package in a 32-bit environment and want to run the package in a
64-bit environment, the connection managers need to be 64-bit
compliant. Some connection managers such as Excel work in a 32-bit
environment only.
I do not think this is Excel related. Your error message clearly states:
Could not load package "c:\folder\mypkg.dtsx"
More detailed error message might help. Also curious to know, are there a lot of processes after the Excel file loads? I am faced with the same scenario and it is shame having to run the whole process in 32 bit.
I might have a work around that will allow you to use Excel files as source, but still configure it to run as a SSIS job, not CmdExec. Will share details once I test this.
Check the following Microsoft knowledge base article. There seems to be a different reason for your issue.
You receive an error message when you try to load an SSIS package that contains a DateTime type variable in SQL Server 2005

Resources