SSIS Package Failed to decrypt protected XML node

Hi experts,
I am a newbie. I have a situation where I need to open up a package built by my Colleague and  when I open the package I get an error
Failed to decrypt protected XML node "DTS:Password" with error 0x8009000B "Key not valid for use in specified state.". You may not be authorized to access this information. This error occurs when there is a cryptographic error. Verify that the correct key is available.
I know that Its because the package properties are to ENCRYPTSENSITIVEWITHUSERKEY ... we need to change the property so that the package developed can be open by others also in order to make any modifications... I have tried changing it to DontsaveSensitivedata.If I do that i need to enter the credentials for the ODBC connections manually eachtime.. is there any workaround

Thanks
danny1620Asked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
danny1620Connect With a Mentor Author Commented:
I got it working I Dont know why it was not taking the bUilt in ODBC Connection But the workaround was to use the Whole Connection String by using the Build Connection String Option ...
Thanks


0
 
PedroCGDCommented:
Store those credentials in a XML file or in a SQL database table using package configurations funtionality
For futher details check the attached doc.
Helped?

regards,
Pedro
www.pedrocgd.blogspot.com
POTS-EX02-EN.doc
0
 
danny1620Author Commented:
Hi pedro,
Thanks.But,that did not help... I see that you have answered my other related question also
http://www.experts-exchange.com/Microsoft/Development/MS-SQL-Server/SSIS/Q_24285379.html#a24041522
 Am i doing something wrong .. I have attached the XML file. I have modified the Usernames and passwords as the XML file when created did not have any values .. I am using an ODBC connection Setup In such a case what would my server name be ..... Help me out
Thanks

Package-Config-XML.txt
0
What Kind of Coding Program is Right for You?

There are many ways to learn to code these days. From coding bootcamps like Flatiron School to online courses to totally free beginner resources. The best way to learn to code depends on many factors, but the most important one is you. See what course is best for you.

 
PedroCGDCommented:
"passwords as the XML file when created did not have any values" is normal and intentional for security reasons.
Tomorrow I will take a look on your questions.
0
 
danny1620Author Commented:
Oh Is it!!... OK Thank You.. Will wait for your suggestions
Thanks again
0
 
danny1620Author Commented:
The solution you gave works fine with ODBC for oracle and even with native SQL client but i have packages which use Oracle Provider for Oracle and the connection string stores just the username, password and dsn it does not have any provider info ... How do i go about..

thanks
0
 
PedroCGDCommented:
You can store using package configurations, just username, database... or all the connection string...
If you have problems using XML file, store the sensitive data inside a SQL database table with specific permissions... with all the connection string or some part of it.
Dont forget to set DelayValidation=True in all the connections you use Package COnfigurations.

Also test outside SSIS if your connection to oracle is ok.
regards,
pedro
0
 
danny1620Author Commented:
I have tried to use both SQL Server Package config and XML Config ... I have attached XLS with my SQL Server Config table.. Just check the data in I have added the password for both TEST Filter and TEST Filter1.. TEST Filter uses SQL Server as Dest and Orcale Provider for Oracle as Source and when i run the package deployed on MSDB I get the error.... While the TEST filter1 uses ODBC For Oracle and it gave me the same error message but it ran fine when i update the password values..... Is It different setup when dealing with Oracle Provider for Oracle ...DO I need to update any values
Below is the info used to connect to the Oracle DB using Oracle Provider for Oracle
Database:  Device List
Description: [Oracle 8i]
IP Address: 192.23.66.10
Host Name: ************
IP Address:
DB login with read permissions:
User: *****
Password: *******
Oracle Service Name: ********
 Thanks

SSIS-Config.xls
0
 
PedroCGDCommented:
Your machine is a 32 or 64 bits?
0
 
danny1620Author Commented:
Its 32 bits..
0
 
PedroCGDCommented:
Try it on another machine
0
 
danny1620Author Commented:
I am getting the same error Message as below
===================================
Package Validation Error (Package Validation Error)
===================================
Error at Import  router data from ODBC database to  Device [ (Oracle) [1]]: System.Data.Odbc.OdbcException: ERROR [28000] [Oracle][ODBC][Ora]ORA-01005: null password given; logon denied
ERROR [IM006] [Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed
ERROR [28000] [Oracle][ODBC][Ora]ORA-01005: null password given; logon denied
   at System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode)
   at System.Data.Odbc.OdbcConnectionHandle..ctor(OdbcConnection connection, OdbcConnectionString constr, OdbcEnvironmentHandle environmentHandle)
   at System.Data.Odbc.OdbcConnectionOpen..ctor(OdbcConnection outerConnection, OdbcConnectionString connectionOptions)
   at System.Data.Odbc.OdbcConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
   at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
   at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
   at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
   at System.Data.Odbc.OdbcConnection.Open()
   at Microsoft.SqlServer.Dts.Runtime.ManagedHelper.GetManagedConnection(String assemblyQualifiedName, String connStr, Object transaction)
   at Microsoft.SqlServer.Dts.Runtime.Wrapper.IDTSConnectionManager100.AcquireConnection(Object pTransaction)
   at Microsoft.SqlServer.Dts.Pipeline.DataReaderSourceAdapter.AcquireConnections(Object transaction)
   at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostAcquireConnections(IDTSManagedComponentWrapper100 wrapper, Object transaction)
Error at Import  router data from  ODBC database to  Device [SSIS.Pipeline]: component "ODBC(Oracle)" (1) failed validation and returned error code 0x80131937.
Error at Import  router data from  ODBC database to  Device [SSIS.Pipeline]: One or more component failed validation.
Error at Import router data from ODBC database to  Device: There were errors during task validation.
 (Microsoft.DataTransformationServices.VsIntegration)
 
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.