Showing posts with label ole. Show all posts
Showing posts with label ole. Show all posts

Tuesday, March 20, 2012

Changing SQL-command with a script

Hello

I want to change the sql-command that is behind a ole db datasource with a script
So that first the script is run and that the sql-command is changed

Somebody who has any idea?

You cannot access object or change their properties from Script in SSIS, a somewhat dramatic change from DTS.

First choice would be to use an Property Expression on the SqlCommand property, but unfortunately this property has not been exposed as an expression.

Next choice would be to use the "SQL Command from variable". You can use a script to set the variable, and the source can be set to use that variable, so job done. I woudl actually be tempted to set the SQL through an expression on the variable. Highlight teh variable in the Variables pane and select the properties grid. You can then set EvaluateAsExpression, followed by the Expression itself.|||Thats indeed a dramatic change

Can you do it then in Microsoft Visual Studio for Application
Thx|||

g4rc wrote:

Thats indeed a dramatic change

Can you do it then in Microsoft Visual Studio for Application
Thx

In the context of SSIS, a script task and VSA are the same thing. So the answer is "No".

You should use the approach outlined by Darren in the third paragraph of his earlier post. Its very easy - far easier than ActiveX scripting.

-Jamie|||can you give me a link to the post
I cannot find it|||

g4rc wrote:

can you give me a link to the post
I cannot find it

Its at the top of this page Smile

i.e. The first reply on this discussion thread.

-Jamie

Friday, February 10, 2012

Changing credentials on-the-fly

Hi!
I have a late requirement from de Security Department.
This is the situation: the apps must connect to SQL Server 2000 through OLE
DB using a generic user, but the developers will not know its credentials
(at least the password)
Unfortunatelly, like I said, this is a late requirement because there are
many apps already working, obviously knowing the credentials.
I spent so much time thinking a way to solve this problem without
codification, finally I arrived to this idea, but I don't know if it's
achievable.
- Create a new user in SQL Server and grant the right permissions on the
addecuate DBs
- Deny permissions to the old user
- Leave the apps just how they are now
- When an app attempt to open a connection, SQL Server must modify the old
credentials with the new ones...
Is this possible?
And obviously...how?
Otherwise, do you know another solution (without reprogramming)?
Thanks in advance,
Promenade
PS: I apologize my englishConsider using an application role. They can login as themselves and then
set the application role. The role stays in effect until logout. You may
have issues with connection pooling, however.
--
Tom
----
Thomas A. Moreau, BSc, PhD, MCSE, MCDBA
SQL Server MVP
Columnist, SQL Server Professional
Toronto, ON Canada
www.pinpub.com
"Promenade" <promenade@.no.com> wrote in message
news:OwhJb2pwFHA.2656@.TK2MSFTNGP09.phx.gbl...
> Hi!
> I have a late requirement from de Security Department.
> This is the situation: the apps must connect to SQL Server 2000 through
> OLE
> DB using a generic user, but the developers will not know its credentials
> (at least the password)
> Unfortunatelly, like I said, this is a late requirement because there are
> many apps already working, obviously knowing the credentials.
> I spent so much time thinking a way to solve this problem without
> codification, finally I arrived to this idea, but I don't know if it's
> achievable.
> - Create a new user in SQL Server and grant the right permissions on the
> addecuate DBs
> - Deny permissions to the old user
> - Leave the apps just how they are now
> - When an app attempt to open a connection, SQL Server must modify the old
> credentials with the new ones...
> Is this possible?
> And obviously...how?
> Otherwise, do you know another solution (without reprogramming)?
> Thanks in advance,
> Promenade
> PS: I apologize my english
>|||Thank you very much, Tom...
I don't know anything about application roles, so maybe you can help me...
When you said "They can login as themselves and then set the application
role"...the process of setting the application role has to be made in every
application code or this task can be made in SQL Server?
"Tom Moreau" <tom@.dont.spam.me.cips.ca> wrote in message
news:#tiGw8pwFHA.2132@.TK2MSFTNGP15.phx.gbl...
> Consider using an application role. They can login as themselves and then
> set the application role. The role stays in effect until logout. You may
> have issues with connection pooling, however.
> --
> Tom
> ----
> Thomas A. Moreau, BSc, PhD, MCSE, MCDBA
> SQL Server MVP
> Columnist, SQL Server Professional
> Toronto, ON Canada
> www.pinpub.com
> "Promenade" <promenade@.no.com> wrote in message
> news:OwhJb2pwFHA.2656@.TK2MSFTNGP09.phx.gbl...
> > Hi!
> > I have a late requirement from de Security Department.
> > This is the situation: the apps must connect to SQL Server 2000 through
> > OLE
> > DB using a generic user, but the developers will not know its
credentials
> > (at least the password)
> > Unfortunatelly, like I said, this is a late requirement because there
are
> > many apps already working, obviously knowing the credentials.
> > I spent so much time thinking a way to solve this problem without
> > codification, finally I arrived to this idea, but I don't know if it's
> > achievable.
> > - Create a new user in SQL Server and grant the right permissions on the
> > addecuate DBs
> > - Deny permissions to the old user
> > - Leave the apps just how they are now
> > - When an app attempt to open a connection, SQL Server must modify the
old
> > credentials with the new ones...
> >
> > Is this possible?
> > And obviously...how?
> > Otherwise, do you know another solution (without reprogramming)?
> >
> > Thanks in advance,
> > Promenade
> >
> > PS: I apologize my english
> >
> >
>|||The application need to set the application role using sp_setapprole.
--
Tibor Karaszi, SQL Server MVP
http://www.karaszi.com/sqlserver/default.asp
http://www.solidqualitylearning.com/
Blog: http://solidqualitylearning.com/blogs/tibor/
"Promenade" <promenade@.no.com> wrote in message news:u3nPbjqwFHA.596@.TK2MSFTNGP12.phx.gbl...
> Thank you very much, Tom...
> I don't know anything about application roles, so maybe you can help me...
> When you said "They can login as themselves and then set the application
> role"...the process of setting the application role has to be made in every
> application code or this task can be made in SQL Server?
>
> "Tom Moreau" <tom@.dont.spam.me.cips.ca> wrote in message
> news:#tiGw8pwFHA.2132@.TK2MSFTNGP15.phx.gbl...
>> Consider using an application role. They can login as themselves and then
>> set the application role. The role stays in effect until logout. You may
>> have issues with connection pooling, however.
>> --
>> Tom
>> ----
>> Thomas A. Moreau, BSc, PhD, MCSE, MCDBA
>> SQL Server MVP
>> Columnist, SQL Server Professional
>> Toronto, ON Canada
>> www.pinpub.com
>> "Promenade" <promenade@.no.com> wrote in message
>> news:OwhJb2pwFHA.2656@.TK2MSFTNGP09.phx.gbl...
>> > Hi!
>> > I have a late requirement from de Security Department.
>> > This is the situation: the apps must connect to SQL Server 2000 through
>> > OLE
>> > DB using a generic user, but the developers will not know its
> credentials
>> > (at least the password)
>> > Unfortunatelly, like I said, this is a late requirement because there
> are
>> > many apps already working, obviously knowing the credentials.
>> > I spent so much time thinking a way to solve this problem without
>> > codification, finally I arrived to this idea, but I don't know if it's
>> > achievable.
>> > - Create a new user in SQL Server and grant the right permissions on the
>> > addecuate DBs
>> > - Deny permissions to the old user
>> > - Leave the apps just how they are now
>> > - When an app attempt to open a connection, SQL Server must modify the
> old
>> > credentials with the new ones...
>> >
>> > Is this possible?
>> > And obviously...how?
>> > Otherwise, do you know another solution (without reprogramming)?
>> >
>> > Thanks in advance,
>> > Promenade
>> >
>> > PS: I apologize my english
>> >
>> >
>>
>|||The problem is that the Client makes the connection; so, there is no way to
intervene at the server to modify this.
Thus, that is why using Windows Authentication is a best practice. Unless
you log on as that user, you can't gain access. Also, with WA, no passwords
are ever transmitted over the network.
Another best practice, DEVELOPERS NEVER DO THE PRODUCTION INSTALLATION:
that's what Server Administrators are for. Thus, the Operations team has
the credentials (locked away in a vault somewhere) but the developer/end
users can use the product.
Basically, you are not going to get away with correcting bad practices
without recoding/redesigning the bad apps is some manner.
There's a saying, which may be a little harsh, but is applicable in this
situation: "There is no patch [nor hotfix] for stupidity."
Sincerely,
Anthony Thomas
"Tibor Karaszi" <tibor_please.no.email_karaszi@.hotmail.nomail.com> wrote in
message news:O4guKXrwFHA.2960@.tk2msftngp13.phx.gbl...
The application need to set the application role using sp_setapprole.
--
Tibor Karaszi, SQL Server MVP
http://www.karaszi.com/sqlserver/default.asp
http://www.solidqualitylearning.com/
Blog: http://solidqualitylearning.com/blogs/tibor/
"Promenade" <promenade@.no.com> wrote in message
news:u3nPbjqwFHA.596@.TK2MSFTNGP12.phx.gbl...
> Thank you very much, Tom...
> I don't know anything about application roles, so maybe you can help me...
> When you said "They can login as themselves and then set the application
> role"...the process of setting the application role has to be made in
every
> application code or this task can be made in SQL Server?
>
> "Tom Moreau" <tom@.dont.spam.me.cips.ca> wrote in message
> news:#tiGw8pwFHA.2132@.TK2MSFTNGP15.phx.gbl...
>> Consider using an application role. They can login as themselves and
then
>> set the application role. The role stays in effect until logout. You
may
>> have issues with connection pooling, however.
>> --
>> Tom
>> ----
>> Thomas A. Moreau, BSc, PhD, MCSE, MCDBA
>> SQL Server MVP
>> Columnist, SQL Server Professional
>> Toronto, ON Canada
>> www.pinpub.com
>> "Promenade" <promenade@.no.com> wrote in message
>> news:OwhJb2pwFHA.2656@.TK2MSFTNGP09.phx.gbl...
>> > Hi!
>> > I have a late requirement from de Security Department.
>> > This is the situation: the apps must connect to SQL Server 2000 through
>> > OLE
>> > DB using a generic user, but the developers will not know its
> credentials
>> > (at least the password)
>> > Unfortunatelly, like I said, this is a late requirement because there
> are
>> > many apps already working, obviously knowing the credentials.
>> > I spent so much time thinking a way to solve this problem without
>> > codification, finally I arrived to this idea, but I don't know if it's
>> > achievable.
>> > - Create a new user in SQL Server and grant the right permissions on
the
>> > addecuate DBs
>> > - Deny permissions to the old user
>> > - Leave the apps just how they are now
>> > - When an app attempt to open a connection, SQL Server must modify the
> old
>> > credentials with the new ones...
>> >
>> > Is this possible?
>> > And obviously...how?
>> > Otherwise, do you know another solution (without reprogramming)?
>> >
>> > Thanks in advance,
>> > Promenade
>> >
>> > PS: I apologize my english
>> >
>> >
>>
>