Parent Variable Configuration - Passing Connection strings..
I have one parent package and a few child packages. I am using SQL Server 2008 R2.
I want to pass variables from Parent Package containing Connection String and other data to the child package. I created few variables in parent package e.g. ParentConnectionString & child package e.g. ChildConnectionString. I set the child package variables
using Package Configurations > Configuration Type = Parent package variable and map the ChildConnectionString value to ParentConnectionString.
I have put a script component that displays variables value set in the child package from parent package.
In child package i have a Connection of ConnectionManagerType = OLEDB. I have added an expression to set the ConnectionString using the ChildConnectionString.
When i run the parent package during the validation phase, it calls the child package. The script component displays the values are being set in child package from parent package but after that it fails saying - invalid username/password; logon denied.
I suspect that the connectionstring expression are going to be executed at run time and not at validation time.
If i put the complete connection string in ChildConnectionString it works fine.
I am not sure if i am doing anything wrong?
It could be that you simply need to put the DelayValidation property to True.
Thing is, when the package starts it validates itself; but at this time the design time connection string property is used, whereas the "real" conn string has been designed to come at a later - runtime, hence you need to set the DelayValidation to true to
make the package not checking the connectivity in advance, and thus successfully start.
Arthur My Blog
Similar Messages
-
Dynamically Setting a Variable from a Connection String that has been set by a Config File
Hi Guys
I'm setting up a Master / Slave (Parent / Child) dtsx environment but I'm unable to work out how to dynamically set a variable in the Master dtsx from a connection string that has had its value set by a config file. I'm sure it's possible.
Below is the what I'm hoping to achieve. I've set up everything apart from the highlighted section.
Any ideas?First, what version of SQL Server are you using?
You could switch the problem around. You could set the value of a variable from the config file, then it is easy to use that variable as the connection string source for your connection manager. At the same time you can use a parent variable
configuration to map that variable to variables in your child package.
Russel Loski, MCT, MCSE Data Platform/Business Intelligence. Twitter: @sqlmovers; blog: www.sqlmovers.com -
ISQL*PLUS dynamic reports - how to pass connect string in the URL
When we run dynamic reports thru ISQL*PLUS, does anyone know how
to pass the connect string info in the URL
The following is the code from ISQL*PLUS users guide but it
dosen't show how to pass the connect string
when I tried to pass hr/your_secret_password@dbserver for userid
I got an error msg
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<HTML>
<HEAD>
<TITLE>iSQL*Plus Dynamic Report</TITLE>
</HEAD>
<BODY>
<H1>iSQL*Plus Report</H1>
<H2>Query by Employee ID</H2>
<FORM METHOD=get ACTION="http://host.domain/isqlplus">
<INPUT TYPE="hidden" NAME="userid"
VALUE="hr/your_secret_password">
<INPUT TYPE="hidden" NAME="script"
VALUE="http://host.domain/employee_id.sql">
Enter employee identification number: <INPUT TYPE="text"
NAME="eid" SIZE="10">
<INPUT TYPE="submit" VALUE="Run Report">
</FORM>
</BODY>
</HTML>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Thanks
JayThe form you use should work when your change
"hr/your_secret_password" to a valid username, password
and connect identifier like "hr/hr@MYDB". Don't forget to
configure MYDB in your tnsnames.ora file on the machine that has
the iSQL*Plus server.
What was the error you got?
The full URL syntax did seem to go missing from the 9.0.1 doc.
See below for the full syntax. This should be appearing in a
forthcoming FAQ.
- CJ
What syntax can I use to run an iSQL*Plus Dynamic Report?
You can run a dynamic report by entering the report URI in the
location field of your browser, or by making the report server a
link or the action for an HTML form. The iSQL*Plus 9i Release 1
documentation has examples of these.
The general syntax for running a dynamic report is:
{uri}?[userid=logon&]script=location[¶m...]
where uri
Represents the Uniform Resource Identifier (URI)
of the iSQL*Plus Server, for example:
http://host.domain/isqlplus
where logon
Represents the log in to the database to which you
want to connect:
{username[/password][@connect_identifier]}
where location
Represents the URI of the script you want to run.
The syntax is:
http://[host.domain/script_name]
The host serving the script does not have to be
the same as the machine running the iSQL*Plus server.
where param
Specifies the named parameters for the script you
want to run.
Named parameters consist of varname=value pairs.
iSQL*Plus will define the variable varname to equal value prior
to executing the script e.g.
...script=http://server/s1.sql&var1=hello&var2=world
This is equivalent to the SQL*Plus commands:
SQL> define var1=hello
SQL> define var2=world
SQL> @http://server/s1.sql
iSQL*Plus, SQL*Plus and SQL keywords are reserved
and must not be used as the variable names (varname). Note also,
that since variables are delimited by the ampersand character,
there is no requirement to enclose space delimited values with
quotes. However, to embed the ampersand character itself in the
value, it will be necessary to use quotes.
For compatibility with older scripts using the &1
variable syntax, varname may be replaced with the equivalent
variable position as in:
...script=http://server/s1.sql&1=hello&2=world
Note the & is the URL parameter separator and not
related to the script's substitution variable syntax.
Commands and script parameters may be given in any
order in the dynamic report URI. However, please note that if any
parameters begin with reserved keywords such as "script" or
"userid" then it may be interpreted as a command rather than a
literal parameter. -
Passing connecting string as a parameter
how will be pass a connecting string at runtime as a parameter at parameter from in reports.
The Excel Add-in method requires you to create a module with the essxlvba.txt custom functions in it. This is located under %HYPERION_HOME%\AnalyticServices\bin\essxlvba.txt. Create a VBA module with this file in it.
Start by creating sub procedures that connect, refresh data and disconnect.
Then create a hidden worksheet that lists your member selection list as a range and map your drop-down object to this range.
Create an On-Click event that passes in the drop-downs selected member to the spreadsheet template’s page area.
Then call procedures to connect, refresh and disconnect the spreadsheet template.
This has No-Frills but conceptually it’s the simplest way to do this, I think.
Brian Chow -
Cmdlnlauncher for sequences throwing connection string error..
Hi All,
I have Hyperion suite v11.1.1.3. I am trying to use cmdlnLauncher.bat to schedule few rules and sequences. I was able to do it for rules however for sequences, I am getting error.
My syntax:
cmdlnLauncher.bat -p:password -S<server name> -Uadmin -sAct2011
Error: "Connect String missing or has an invalid format. Please specify a valid connect string (Server/App/DB)"
As the -f<rtp file> is ignored for sequences, I am not sure how to pass connection string to the wizard.
Any suggestions please..
Kind regards,
AnkitThanks for Reply
Excel SOurce give me below Error
TITLE: Microsoft Visual Studio
Parameters cannot be extracted from the SQL command. The provider might not help to parse parameter information from the command. In that case, use the "SQL command from variable" access mode, in which the entire SQL command is stored in a variable.
Try as below,
declare @sql varchar(1000), @fq varchar(260)
select @fq = ?
select @sql = 'SELECT * FROM OPENROWSET(''Microsoft.ACE.OLEDB.12.0'',''Excel 12.0;Database=''' + @fq + ''', ''SELECT * FROM [sheet$]'')'
---print @sql
insert into TEMP
exec(@sql)
OR
declare @sql varchar(1000), @fq varchar(260)
select @fq = ?
select @sql = 'SELECT * INTO TEMP FROM OPENROWSET(''Microsoft.ACE.OLEDB.12.0'',''Excel 12.0;Database=''' + @fq + ''', ''SELECT * FROM [sheet$]'')'
---print @sql
exec(@sql)
Regards, RSingh -
Connection string equivalent to SQL*PLUS nolog
Hello there.
I have a bit of a problem
I want to run some sql statements on the oracle itself (no specified database to connect to)
I'm now using the "SQL*PLUS /NOLOG" option, which does this great, but since I want the whole process to be automatic (programatically), I want to know how to run these commands without SQL*PLUS (using a connection string)
I tried many variations for the connection string, but since I always got the error: "listener was not given the SERVICE_NAME in CONNECT_DATA" (again - I want to statements to be processed by the oracle server itself, without connecting to a database)
How can I do this?
Thanks in advance
TsuriaI need a connection string to connect first.
so what is the connection string I need to provide in order to do so?There isn't a "default" connection string, it depends on the database(s) you have to connect to. If you are working locally, that is, on the same machine where your DB is running, you can set ORACLE_SID environment variable, without using connection strings.
Otherwise you have to create one, you can use Net Configuration Assistant for that.
BTW, you didn't answer all my questions.... -
Changing the server name on package connection string.
I have a connection string in a package which is a local connection string and not in project connection manager and isn't parameterize as well. Now I need to change a server name of the connection property without using editor. Can I do that and how ?
Moyz KhanI agree about using configuration for connection string but unfortunately this is an inherited project/packages . And my task it to make these run as currently I don't have luxury to modified it.
So I was able to change most of the connection string with below update
update[SSISDB].[internal].[execution_parameter_values]
setparameter_value=replace(cast(parameter_valueasvarchar),'OldServer',NEwServer)
update[SSISDB].[internal].[object_parameters]
set[design_default_value]=
replace(
cast([design_default_value]asvarchar(1000)),'OldServer','NEwServer')
Now the only one its complaining is the Project connection string . If I know where to look and update that I might be able to run these packages .
Moyz Khan -
Using variable in connection string returns 0 for variable.
hi all- I am pulling data from a visual forxpro database and the connection string is as follows:
Data Source=\\ServerName\FolderName\AR;User ID=Domain\svcAct;Provider=VFPOLEDB.1;Persist Security Info=True;
I created a variable called CurrentARPath and stored the path
\\ServerName\FolderName\AR
I then tried using this variable in the Expression property of the connection string as follows:
"Data Source="+(DT_WSTR, 20)@[User::CurrentARPath] + ";User ID=Domain\\svcAct;Provider=VFPOLEDB.1;Persist Security Info=True;"
However, the above expression is evaluating the variable to 0 as shown below; this is causing the connection in connection manager to go down(offline) and the OLED data source is complaining.
Data Source=0;User ID=Domain\svcAct;Provider=VFPOLEDB.1;Persist Security Info=True;
any idea what i am doing wrong here? thanks in advance!What datatype is CurrentARPath? Are there any
configurations on the connection string or variable?
Which
package protection level are you using?
CurrentARPath data type - Char
there are no configurations on the connection string. one thing that i should mention is that i have created a variable called ArPath of type object and using it in the for each loop container. this variable gets populated using an execute SQL statement.
i am then mapping the vale from ArPath to CurrentARPath in the loop container.
Package protection level is default(encrypt sensitive)
thanks for the help. -
How to create dynamic connection string with variables using ssis.
Hello,
Can anyone let me know on how to create dynamic connection string with variables using ssis?
Any help would be appreciated.Hi vinay9738,
According to your description, you want to connect multiple database from multiple servers using dynamic connection.
If in this case, we can create a Table in our local database (whatever DB we want) and load all the connection strings. We can use Execute SQL Task to query all the connection strings and store the result-set in a variable of object type in SSIS package.
Then use ForEach Loop container to shred the content of the object variable and iterate through each of the connection strings. And then Place an Execute SQL task inside ForEach Loop container with the SQL statements we have to run in all the DB instances.
For more details, please refer to the following blog:
http://sql-developers.blogspot.kr/2010/07/dynamic-database-connection-using-ssis.html
If there are any other questions, please feel free to let me know.
Regards,
Katherine Xiong
Katherine Xiong
TechNet Community Support -
Setting substitution variable to connection string (not ODBC name)
Hi,
I havce a question regarding the use of a sub variable in SQL data loads as the data source. I find this works great when the variable is set to an existing ODBC. What I would really like to do is skip the ODBC creation step and have the substitution variable be the actual connection string, such as "Driver={SQL Native Client};Server=myServerAddress;Database=myDataBase; Uid=myUsername;Pwd=myPassword;"
Can anyone confirm or deny whether this functionality exists? As usual, the documentation is vague on the subject and doesn't exclude the possibility, but doesn't include it, either.
Thanks!My first thought is that no, you can't do that. Even if you could, I'm not sure if you'd want to do that. The easiest way to find out is simply to try. But more than likely I think you should just have "hard-coded" values for the source/target server. If you are trying to stay with the same load rule for dev/test/prod servers, you might just be better off coming up with a naming scheme that let's you keep them all separate.
Cheers,
Jason Jones
[http://www.jasonwjones.com] -
I am trying to encrypt the connection string section in the config file. There is only one connection string in the original config file, that is a oracle connection string. But after encryption, there are two connection strings.
The original config file is like
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="Ref_ConnectionString"
connectionString="Data Source=aaa;User ID=bbb;password=ccc"
providerName="System.Data.OracleClient" />
</connectionStrings>
<appSettings>
<add key="sp_AddRefName" value="sp_AddRef"/>
</appSettings>
</configuration>
The coding to encrypt is like:
System.Configuration.Configuration config =
ConfigurationManager.OpenExeConfiguration(configFile);
ConfigurationSection section = (ConfigurationSection)config.GetSection("connectionStrings");
section.SectionInformation.ProtectSection("RsaProtectedConfigurationProvider");
section.SectionInformation.ForceSave = true;
config.Save(ConfigurationSaveMode.Full);
And I am using the following coding to test the decryption:
System.Configuration.Configuration config =
ConfigurationManager.OpenExeConfiguration(configFile);
ConnectionStringsSection connSection = config.ConnectionStrings;
int i = 1;
foreach (ConnectionStringSettings settings in connSection.ConnectionStrings)
Console.WriteLine(i.ToString() + ":" + settings.ProviderName + ";" + settings.ConnectionString);
i++;
The output for the decryption are as following:
1: System.Data.SqlClient;data source=.\SQLEXPRESS;Integrated Security=SSPI;Attach
DBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true
2: System.Data.OracleClient;Data Source=aaa;User ID=bbb;password=ccc
Could any of you tell me what I am doing wrong? Thanks.For the benefit of anyone who comes across this question:
configFile, is meant to be the exePath. OpenExeConfiguration will open the exe's config file and then encrypt it, and then save a "{exePath}.config" file.
If you use notepad to check then you will see encrypted strings.
If you want to use code to check use:
System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(exePath);
config.GetSection("connectionsStrings").SectionInformation.IsProtected
If you use code to read the config file, then that will only show decrypted values (#2 in the listed output)
The extra data connection (#1) comes from a config file higher up in the hierachy, e.g. machine.config -
Definiing variables in connection string
Hi,
I have a web application which connects to database (using DataSource thru JNDI lookup) through Microsoft SQL Server JDBC Driver. The application server is JBoss. Now in the connection string i also want to put a variable "hostname" with its value being the login id of the current user of the web application. How can I do that? I then would acces the connection string to get the current login id from the "hostname" variable. I know there are other ways to save the login id (like in HttpSession) but in my case I have to make it a part of the connection string.
ThanksThis one was my fault. The connection string was not the issue. It was the SQL command I was sending. The terminating semicolon had to be removed.
-
im looping through databases on a server & building a connection string to each database.
$SQLConn.ConnectionString = "Server=$SrvName; Database=$DBName; User ID =DBLogin; Password=myPassword;"
The problem is i get this error:
Only variable names (i.e.: $variable) may be used as the target of an assignment statement
I can put the code into an Inlinescript, but then I lose the ability to perform paralellism. Is there any way to construct the connection string in PS Workflow without using an Inlinescript?Hi Winston,
Why not just wrap the InlineScript blocks in a Parallel block, to cause them to execute in parallel?
For example:
workflow foo {
parallel {
inlinescript {
start-sleep -Seconds (Get-Random -Minimum 1 -maximum 5)
"a"
inlinescript {
start-sleep -Seconds (Get-Random -Minimum 1 -maximum 5)
"b"
Sometimes outputs "a b" and sometimes outputs "b a" -
Want to connect local SQLPlus without passing SID/connecting string.
Hi
On my network there are many databases and many several machine. On some database host machines when I pass user/password they connect locally but other wont unless I provide connecting string i.e. user/password@connection_string.
How can I make my machines to connect locally if I pass just pass user/password as I want to install StatsPack, it change user within installation and log out as it only pass username/password not the connection string.
Wishes
Jawadtry with TWO_TASK
$ export TWO_TASK=lsc62.ex.zkb.ch
$ sqlplus scott/tiger
SQL> select global_name from global_name;
LSC62.EX.ZKB.CHMessage was edited by:
Laurent Schneider
well, this works only in Unix, so first, upgrade your plateform to Unix before setting this variable -
Security and connection string
Hi,
I am a new developer using ColdFusion.
Does ColdFusion support Windows Authentication or I have to have my connection string in plain text in my cfm files?
Can I have connection string in my form or I have in one config file?
Is it possible to encryp my password and user name in the cfm file?
Your information and help is great appreciated,
Regards,
iccsi,That is a broad question. Are you referring to connections to data sources, or recognizing user IDs for site logins? If the former, you can configure the database logins (with some caveats) within the secure CF Administrator, and never have to pass credentials directly in your CFML code. As for user IDs for logins, if you configure your webserver (IIS) to use Windows Authentication via NTLM, Coldfusion will receive the Windows login and make it acccessible to you via CGI variables.
-Carl V.
Maybe you are looking for
-
I would like to use my work exchange email on my macbook pro. But I cannot install it. I have no problem my work email on my iPhone or iPad. My work IT person does not know what is wrong. Why I try to set up the email I get the message that it ca
-
I have three devices - PC, iphone and ipad2. Only the PC reflects the correct apple id in iCloud. The other two keep asking for an old apple id password. What do I do about this? I thought they would sync but that's not working. Now iCloud will
-
hi, Any one tell me about scripting in xMII. i have plast database with two tables like order(columns-order level,orderid,name of the order),product(productlevel,orderid,defactives).please tell me how i would be use this tables at Scripting
-
ADSI does not return proper code for Password Expired
We are trying to modify a vendor supplied system to get it to authenticate using our LDAPs. The vendor app is a hybrid IIS ASP/ASP.NET application so it seems necessary to use ADSI for authentication. We have had the solution working for more than a
-
Search has incorrect channel numbers
We were just upgraded to the new channel lineup today (Southeastern PA). When I do a search, I notice the channels, particularly for HD still show the old channel numbers. Do you know how I can update to get the new HD channel numberss for the shows