perfecto! yo tengo el code hecho porque yo trabajaba haciendo lectura a un txt y de ahi jalar la cadena, haber... por ejemplo lo que yo hacia al momento de hacer login era preguntar si existe un txt(Yo lo ocultaba asignandole la extension .dll que de igual manera lo puedes leer como un txt) es porque el administrador ya coloco la cadena de conexion respectiva, sino existe es porque no existe dicha conexion de esta manera en el evento loguear
Código vb.net:
Ver original'Esta es la ruta desde donde se ejecuta el programa
Dim cadena As String = IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly.GetName.CodeBase).Remove(0, 6)
If txtUsuario.Text.Trim = "" Or txtPwd.Text.Trim = "" Then
MsgBox("Ingrese Usuario y Password") Else
'Aqui verifica si el dll existe
If File.Exists( & "\instancia.dll") Then
Dim log As String = login()
If log = Nothing Then
MsgBox("Usuario no existe o contraseña incorrecta", MsgBoxStyle
.Exclamation) Else
frmPrincipal.Show()
Me.Hide()
End If
Else
'Sino existe asigno una credencial de inicio para luego crear la cadena en otro formulario
If txtUsuario.Text.Trim.Equals("Administrador") And txtPwd.Text.Trim.Equals("sysadmin") Then
'Formulario donde creo la conexion
frmCreacion.Show()
Me.Hide()
Else
MsgBox("Usuario o Contraseña incorrectos", MsgBoxStyle
.Exclamation) End If
End If
End If
Una vez que ya pasa al formulario de creacion hago jalo la instancia, la bd , el usuario ingresado y el pass y lo almaceno en la dll:
Código vb.net:
Ver originalDim path As String = IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly.GetName.CodeBase.ToString)
Dim oSW As New StreamWriter(path.Remove(0, 6) & "\instancia.dll")
Dim Linea As String = "server=" & cboInstancias.Text & ";Database=" & cboBase.Text & ";uid= " & txtUsuario.Text & "; pwd = " & txtPassword.Text & ""
oSW.WriteLine(Linea)
oSW.Flush()
y finalmente para llamarlo necesitar hacer esto :
Código vb.net:
Ver originalDim txt As String = IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly.GetName.CodeBase)
Dim nc As String = txt.Remove(0, 6) & "\instancia.dll"
Dim linea1 As String = ""
Dim nombre As String = ""
With My.Computer.FileSystem
If .FileExists(nc) Then
Dim sr As StreamReader = New StreamReader(nc)
'LEO LA LINEA DE LA CADENA DE CONEXION
linea1 = sr.ReadLine
Else
linea1 = ""
End If
End With
'HAGO UNA CONSULTA CON LA CADENA DE CONEXION
Dim cnx As New SqlConnection(linea1)
Dim cmd As New SqlCommand("select nom_user from usuario", cnx)
cnx.Open()
nombre = cmd.ExecuteScalar
tssBienvenida.Text = nombre
ESO SERIA TODO MI ESTIMADO, ESPERO TE HAYA SIDO DE UTILIDAD! Y LO PUEDAS ACOMODAR A TUS NECESIDADES Y USAR TU IMAGINACION

SALUDOS!
PDT: NO OLVIDES IMPORTAR EL SYSTEM.IO PARA MANEJOS DE ARCHIVOS!