Re: Connection string information

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance



Well, I just decompiled the SQLConnection class.
I saw a lot of properties definned such as:

private string _userID;
private string _password;

internal string UserID
{
get
{
return _userID;
}
}

internal string Password
{
get
{
return _password;
}
}

Also I saw those values being assigned in some places:

I also saw that there was a parser in the class SQLConnectionString
inherited from DBConnectionString but my decompiler was not good enough to
decompile it completely. I can more or less read it but I cannot copy paste
it in my own class to be able to re-use it :(

It seemed that the parser stored EVERY value found from the conection string
into an Hahstable, as long as the value exists, otherwise the value will be
kept blank. Also I did not see anything that makes the parser skip some
elements. If an element exists within the connection string it parses it,
except if that element is not a proper keyword then an exception is thrown
(such as u put in passeword instead of password)
At the end of the constructor of DBConnectionString, a method
ValidateParse() is called and that method is overridden in
SQLConnectionString to set values for all properties that are in the
connection string (including passwords, user name and anything u can define
into a connection string). Of course if a property is not defined in the
connection string then the equivalent property in SQLConnectionString will
remain empty.

Well, do you have a properly decompiled version of the System.Data.dll that
you can actually recompile? I believe MS still does not publish the source
code of the Framework API, do they?
And if I could run it i am pretty sure i could retrieve the user name
password.

Last, sorry in advance to be so stubborn.

Francois.

"William (Bill) Vaughn" <billvaRemoveThis@xxxxxxxxxx> wrote in message
news:OMkEHLM4FHA.3592@xxxxxxxxxxxxxxxxxxxxxxx
> Unless the ConnectionString contains "Persist Security Info=true"
> referencing the ConnectionString assigned to a Connection won't return the
> credentials. If it is enabled, you'll have to do a string parse on the
> ConnectionString for the values. When ADO.NET assigns the ConnectionString
> to a Connection object, it parses the string and picks off key elements
> which are assigned to the Connection properties behind the scenes. Not all
> of the key/value pairs are used to set properties--the user id and
password
> are not assigned to properties.
>
> hth
>
> --
> ____________________________________
> William (Bill) Vaughn
> Author, Mentor, Consultant
> Microsoft MVP
> INETA Speaker
> www.betav.com/blog/billva
> www.betav.com
> Please reply only to the newsgroup so that others can benefit.
> This posting is provided "AS IS" with no warranties, and confers no
rights.
> __________________________________
>
> "Francois Malgreve" <francois.malgreveADgmail.com> wrote in message
> news:%23F3Gz9G4FHA.744@xxxxxxxxxxxxxxxxxxxxxxx
> > Hi,
> >
> > I would like to know how I can do to retrieve the user and password from
a
> > connection object.
> > All i see from SQLConnection is that i can access the connectionString
but
> > I
> > need to be able to access the specific user and password for that
> > connection.
> > If I parse the connection string myself i may not be able to catch the
> > values properly every times as there are many valid syntax to build a
> > connection string and I am pretty sure that I do not know all of them.
> > For example
> > "Data Source=Aron1;Initial Catalog=pubs;User Id=sa;Password=asdasd;"
> > is valid but
> > "Data Source=Aron1;Initial Catalog=pubs;User Id = sa;Password = asdasd;"
> > "Data Source=Aron1;Initial Catalog=pubs;uid=sa;Password =asdasd;"
> > "Data Source=Aron1;Initial Catalog=pubs;uid =sa;pwd=asdasd;"
> > and probably other syntaxes are valid.
> >
> > I assume that internally the SqlConnection object parses the connection
> > string and store the user and password in separate fields. Is there any
> > public method or attribuate that can do that? Or any third party
library?
> >
> > Best regards,
> >
> > Francois Malgreve.
> >
> >
>
>


.



Relevant Pages

  • Re: ADO connections question
    ... Function CreateADOObjects(ConnectionString as string) ... you'll see this error if the connection has not been ... I have a specific login form that calls the dbLogin function as shown ... Dim strCriteria As String ...
    (microsoft.public.access.adp.sqlserver)
  • Re: Connection string information
    ... I just decompiled the SQLConnection class. ... > private string _password; ... If an element exists within the connection string it parses it, ...
    (microsoft.public.dotnet.framework.adonet)
  • Re: Close not closing...
    ... string connectionString; ... // create a new SqlConnection object with the appropriate ... connection string SqlConnection sqlConn = new ... If I hit the script button first, ...
    (microsoft.public.dotnet.framework.adonet)
  • Re: Nochmals Treeview
    ... private void button1_Click(object sender, System.EventArgs e) { ... private void TabelleAnlegen(string strDBPfad, string strDB, string strTabellenName){ ... OleDbConnection connection = new OleDbConnection; ... OleDbCommand command = new OleDbCommand; ...
    (microsoft.public.de.german.entwickler.dotnet.csharp)
  • Re: ExecuteReader requires an open and available Connection.
    ... you have ALL your users sharing one connection. ... Public Shared Function GetServerAs String ... Dim theServer As String ...
    (microsoft.public.dotnet.framework.aspnet)