Solved

SSIS Package losing password in dynamic ole db connection on second run through a ForEach Loop container

Posted on 2013-06-17
10
751 Views
Last Modified: 2016-02-11
I've built an ssis package to loop through a list of servers. I'm using a foreach loop container to do the looping with a sql server task querying a dynamic ole db connection against the server for that loop using SQL Server Authentication. It seems to work fine for the first iteration but then loses the password for the second iteration. Does anyone know how to fix this please? I've tried setting the protectionlevel property for the package to be EncryptSensitiveWithPassword as some sites suggest but I get the same problem.
0
Comment
Question by:Grffster
  • 5
  • 5
10 Comments
 
LVL 11

Expert Comment

by:SThaya
ID: 39253104
Hi,

  use the below expression in the connection string properties

"Data Source="+ REPLACE ( @[User::Desti_server]  ,"\\","\\")+";User ID="+ @[User::Desti_UName] +";Password="+ @[User::Desti_Pwd] +";Initial Catalog="+ @[User::Desti_DB] +";Provider=SQLNCLI10.1;Persist Security Info=True;Auto Translate=False;"
 
this will pass your password dynamically
0
 

Author Comment

by:Grffster
ID: 39253139
It will have to be hard-coded in to the package then though won't it?
0
 
LVL 11

Expert Comment

by:SThaya
ID: 39253151
can you please tell me where are you storing the connection string properties like server,db,password etc

and

can you give me the stepts you done with your package
0
 
LVL 11

Expert Comment

by:SThaya
ID: 39253156
or try Encrypt all with password  option in package protection level
0
 

Author Comment

by:Grffster
ID: 39253185
The purpose of the package is to loop through a number of servers checking for SQL Agent job failures. I have a table in a database on my warehouse server that contains a list of servers to check. I run a sql task to populate a variable of type object with the result set containing these server names and then use a foreach loop container to loop through these connecting to the SQL server using a dynamic ole db connection in connection manager.  The server name is set by a variable (equating to that loop of the container) populating the ServerName Expression. This connection is using a SQL Server Authentication user account and password. I think it's this password that's being dropped each time.
0
Control application downtime with dependency maps

Visualize the interdependencies between application components better with Applications Manager's automated application discovery and dependency mapping feature. Resolve performance issues faster by quickly isolating problematic components.

 

Author Comment

by:Grffster
ID: 39253192
Same result with the Encrypt All With Password option.
0
 
LVL 11

Expert Comment

by:SThaya
ID: 39253206
so each server has different user name and password or same ?

if its different you have to pass username,server name and password dynamically ......
0
 

Author Comment

by:Grffster
ID: 39253216
Same  username and password. This is the strange issue with it. I can understand if they were different: "Login failed for user 'XXX'.".
0
 
LVL 11

Accepted Solution

by:
SThaya earned 500 total points
ID: 39253265
0
 

Author Comment

by:Grffster
ID: 39253323
Ah! Bingo!!! Just realised the problem thanks to you asking the question about the DB. The dynamic ole db connection was trying to connect to a database that only existed on the first server. I needed to pick a common database to all servers e.g. tempdb. Doh!
0

Featured Post

Microsoft Certification Exam 74-409

Veeam® is happy to provide the Microsoft community with a study guide prepared by MVP and MCT, Orin Thomas. This guide will take you through each of the exam objectives, helping you to prepare for and pass the examination.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Use this article to create a batch file to backup a Microsoft SQL Server database to a Windows folder.  The folder can be on the local hard drive or on a network share.  This batch file will query the SQL server to get the current date & time and wi…
In this article we will get to know that how can we recover deleted data if it happens accidently. We really can recover deleted rows if we know the time when data is deleted by using the transaction log.
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

929 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now