Cambiar contraseña en Visual Basic 2013 de una base Access 2010 (ADO.NET)

Iniciado por Tazmania40, 21 Febrero 2016, 20:08 PM

0 Miembros y 1 Visitante están viendo este tema.

Tazmania40

Buenas quería saber si se puede desde Visual Basic 2013 cambiar una contraseña de una base de datos Access 2010 (por código con ADO.NET), pongo siguiente código a modo de ejemplo. Como sería el código en el botón BtnPassword.


Public Class Form1
   'Declaración Conexión al origen de datos con proveedor Access
   Public Acceso As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Prueba.accdb;Persist Security Info=True; _
Jet OLEDB:Database Password=sabe1#012345678910lu")
   'Declaración del DataSet
   Public DS As New DataSet
   'Declaración del DataAdapter con la consulta de toda la tabla
   Public DATA As New OleDb.OleDbDataAdapter("SELECT ID, NOMBRE, TELEFONO, CORREO FROM Agenda", Acceso)

Private Sub BtnCargarTabla_Click(sender As Object, e As EventArgs) Handles BtnCargarTabla.Click
       'Conectamos a la BD y cargamos los valores al DataGridView
       Try
           Acceso.Open()
           DS.Tables.Add("Tabla")
           DATA.Fill(DS.Tables("Tabla"))
           DataGridView1.DataSource = DS.Tables("Tabla")

           MsgBox("Se ha conectado a la BD", MsgBoxStyle.Information)
       Catch ex As Exception
           MsgBox("Fallo de conexión" & Chr(13) & ex.ToString, MsgBoxStyle.Critical)
       End Try
       Acceso.Close()
End Sub

Private Sub BtnPassword_Click(sender As Object, e As EventArgs) Handles BtnPassword.Click
'....
'....

End Sub
End Class



Mi segunda pregunta a modo de tema de Seguridad. Las bases de datos con Access 2010 veo que están cifradas y puedes poner una contraseña como el ejemplo que tengo de hasta 20 caracteres. ¿Es posible mediante programas externos aunque sean de pago romper esa seguridad y acceder a la base de datos Access?
Si es así se me ocurre poner la base de Access en un recurso compartido oculto con el $ al final y desde Visual Basic que es el programa que va a los usuarios acceder por programación y así nunca saben donde se esconde la base de Access. Aunque la empresa donde estoy no hay mucho listo que digamos pero siempre es bueno poner la máxima seguridad ante datos personales.

Si alguien sabe como programar por código la primera pregunta se lo agradezco mucho, naturalmente para cambiar una contraseña por Access hay que abrirla en modo exclusivo. En caso contrario lo haría desde Access y luego volviendo a compilar el proyecto, pero ya me gustaría hacerlo todo automático tal y como se hacía en Access97 hace mucho tiempo cuando programaba con VB6 y DAO.

Muchas gracias
Saludos