none
Archivo.mdb, despues de crearlo, está siendo usado otro proceso. RRS feed

  • Pregunta

  • Public Class NewProgreso
        ReadOnly pths As String = Path.GetDirectoryName(Application.ExecutablePath)
    
        WithEvents Boton1 As New Button
        Public Sub Boton1_Click() Handles Boton1.Click
            MdbProgreso()
        End Sub
    
        Public Sub MdbProgreso()
            Dim stft = String.Format("Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password = newpass;Data Source=" & pths & "\MiDb\Progreso.mdb;")
    
            Dim cnnx As New ADODB.Connection
            Dim ctlg As New ADOX.Catalog()
    
            Dim olcx As New OleDbConnection
            Dim cmdInsert As New OleDbCommand
    
            'CREAR ARCHIVO NUEVO
            If File.Exists(pths & "\MiDb\Progreso.mdb") Then
                File.Delete(pths & "\MiDb\Progreso.mdb")
    
                ctlg.Create(stft & ";Jet OLEDB:Engine Type=5")
            Else
                ctlg.Create(stft & ";Jet OLEDB:Engine Type=5")
            End If
            ctlg = Nothing
    
            'CREAR TABLAS"
            cnnx.Open(stft)
            cnnx.Execute("CREATE TABLE E5NC1 (Datos TEXT(10))")
            cnnx.Close()
    
            'CREAR DATOS"
            olcx.ConnectionString = stft
    
            olcx.Open()
            cmdInsert.CommandText = "INSERT INTO E5NC1 (Datos) VALUES (0);"
            cmdInsert.CommandType = CommandType.Text
            cmdInsert.Connection = olcx
            cmdInsert.ExecuteNonQuery()
            cmdInsert.Dispose()
            olcx.Close()
        End Sub
    End Class

    El código funciona bien, pero también se crea un archivo con extensión .ldb que impide usar la DataBase porque se queda abierta.

    Gracias por la ayuda.

    miércoles, 11 de marzo de 2020 23:52