Ayuda para configurar una cadena de conexión

Le agradecería que me ayudase para configurar la cadena de conexión porque no consigo que funcione de ninguna forma.
Hasta el momento tengo la base de datos creada y conectada con la cadena de conexión guardada en el setting siendo el valor en el Setting de la aplicación "BaseDatos2ConnectionString" y la BD es un archivo único denominado "BaseDatos2.mdf".
Es decir, por el momento tengo este valor:
BaseDatos2ConnectionString = Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\BDSuitPL\BaseDatos2.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True
De esta forma me funciona todo perfectamente.
Lo que necesito es quitar dicha ruta del setting y colocarla en el código ya que tengo que ponerle una contraseña a la BD y no sería muy conveniente dejarla en el Setting puesto que cualquiera podría leer dicha ruta y contraseña, pero necesito que la BD estuviera en una ruta de este tipo "\\Servidor1\carpetaBD\BaseDatos2.mdf"
He intentado crear una variable y asignarle la conexión, para ello estoy haciendo lo siguiente que comento junto con las dudas:
'Creo que tengo que importar el System.Data.SqlClient (pero no se si es éste en concreto) para manejar este tipo de archivos.
Imports System.Data.SqlClient
' he creado la variable de ésta forma, que coincide con el valor del setting (quizás no es conveniente que tenga el mismo nombre que el valor del setting, o da igual):
Public BaseDatos2ConnectionString As New SqlConnection
'y ahora lo que pretendo es asignarle el valor a la cadena de conexión de esta forma:
Dim rutaBD as String = "\\Servidor1\carpetaBD\BaseDatos2.mdf"
BaseDatos2ConnectionString = Data Source= & rutaBD;Integrated Security=True;Connect Timeout=30;User Instance=True
'He hecho tantos cambios y combinaciones que ya no se si que es lo que hago, he creado bastantes cadenas de conexión extraidas de la dirección: http://www.connectionstrings.com/sql-server-2005-ce
Pero no hay forma.
Si me puedes echar una mano, me harías un gran favor, y ya de paso y abusando un poco más de la cuenta, si me dices como asignarle una contraseña y ponerla en la ruta de conexión (me imagino que tendré que ponerle la contraseña con la aplicación Sql Studio Management y ponerle la clave en la cadena.
Posteriormente tendré que asignar los dataset tipados que tengo creados tales como "BaseDatos2Dataset" y con esto me imagino que todo funcionará igual que antes.
Gracias y perdona si es una pregunta tonta, pero es que me está volviendo loco, resistiéndose y haciendo perder mucho tiempo.

1 Respuesta

Respuesta
1
Mmmm, entiendo que tienes una base de datos en SQL y que por otro lado tienes un proggrama cliente al que quieres programarle parámetros de conexión. Por la sintaxis creo que es VB. Cuando programo en VB yo generalmente usa RecordSet así que si es el caso yo haría una conexión más o menos así:
Dim WithEvents adoPrimaryRS As Recordset ' va en las declaraciones generales
Dim db As Connection
  Set db = New Connection
  db.CursorLocation = adUseClient
  db.Open "PROVIDER=MSDASQL;driver={SQL Server};server=servidor;uid=Usuario;pwd=Password;database=BaseDatos2;"
  Set adoPrimaryRS = New Recordset
  AdoPrimaryRS. Open "select * from Tabla Order By Campo", db, adOpenStatic, adLockOptimistic
Una página que te recomiendo para VB y manejo de base de datos es: http://www.elguille.info/
Mucha suerte
Bueno, programo en Visual Basic.Net, los RecordSet ya no se usan (desde que salió la versión 2005), para programar utilizo Visual Studio 2008, que no tiene nada que ver con VB6.0 que es lo que es lo que conoces de visual basic...
El método que me has comentado es justamente el método que no puedo aplicar y que explico en la pregunta, no obstante, gracias por tu tiempo empleado.
Investigando un poco por la red, he conseguido averiguar, que si utilizo como base de datos un archivo .mdf en SQL, tengo que instalar un servidor en el ordenador donde voy a colocar la BD, aunque mi intención era usar el archivo de base de datos como si fuera un MDB de Access, es decir, utilizarlo en red simplemente y no en el servidor.
Pero bueno, ya por lo menos he conseguido avanzar algo, gracias de todas formas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas