Sorun şu; içinde bağlı tablo olan bir Access veritabanı şifreleLİ OLURSA
connectionString kısmına bu Access VERİTABANIMA AİT şifreyi yazsamda okumuyor. "HATA GEÇERSİZ PAROLA YAZIYOR". Acces veritabanımda Şifreyi kaldırınca okuyor şifreli olunca okumuyor.
Teşekkürler. Eğer bağlandığım acces veritabanı şifresini kaldırırsam aşağıdaki kodlar işimi görüyor Access vt şifreleyince "HATA GEÇERSİZ PAROLA YAZIYOR".
Private Sub Button19_Click(sender As System.Object, e As System.EventArgs) Handles Button19.Click
Dim tableName As String = "tb_personel_bilgileri" ' Bağlı tablo adını buraya girin
Dim connectionString As String = "provider=microsoft.jet.oledb.4.0;data source=" & Application.StartupPath & "\DataBase.mdb ;Persist Security Info=True;Jet OLEDBatabase Password=12212"
Try
Using connection As New OleDbConnection(connectionString)
connection.Open()
Dim linkedDbPath As String = GetLinkedDatabasePath(connection, tableName) ' Bağlı tablonun bağlı olduğu veritabanını al
If Not String.IsNullOrEmpty(linkedDbPath) Then ' Sonuçları görüntüle
MessageBox.Show("Bağlı Tablonun Bağlı Olduğu Veritabanı Yolu: " & linkedDbPath)
Else
MessageBox.Show("Bağlı Tablo Bulunamadı")
End If
End Using
Catch ex As Exception
MessageBox.Show("Hata: " & ex.Message)
End Try
End Sub
Private Function GetLinkedDatabasePath(connection As OleDbConnection, tableName As String) As String
Dim dbPath As String = ""
Dim dbEngine As New DBEngine() ' DAO DBEngine kullanımı
Dim db As Database = dbEngine.OpenDatabase(connection.DataSource) ' Veritabanını aç
For Each tableDef As TableDef In db.TableDefs
If tableDef.Name = tableName Then
dbPath = tableDef.Connect
Exit For
End If
Next
db.Close()
Return dbPath
End Function