Laden...

Beim Connecten mit der Datenbank: "Provider" wird nicht unterstützt.

Erstellt von TheRoadBikeIbis vor 4 Jahren Letzter Beitrag vor 4 Jahren 1.246 Views
T
TheRoadBikeIbis Themenstarter:in
1 Beiträge seit 2019
vor 4 Jahren
Beim Connecten mit der Datenbank: "Provider" wird nicht unterstützt.

verwendetes Datenbanksystem: Access mdb

Hallo zusammen,

ich arbeite gerade an einem kleinen ToDo Datenbank Programm, beim Ausführen bekomme ich aber immer wieder zu lesen.> Fehlermeldung:

Schlüsselwort wird nicht unterstützt: 'provider'

Nutze ich OleDB klappt es aber hier muss dann für Updates, Insert und Deletes eine Abfrage geschrieben werden oder täusche ich mich da?

Anbei das Snippet:


Using System.Data.SqlClient;

 private void GetData(string selectCommand)
        {
            try
            {
                string sConnString = ("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = c:\\ToDo\\Todo.mdb; Jet OLEDB:Engine Type = 5");

                SqlConnection Conn = new SqlConnection(sConnString);

                {
                    Conn.Open();
                    SqlDataAdapter dataAdapter = new SqlDataAdapter(selectCommand, Conn);
                    SqlCommandBuilder commandBuilder = new SqlCommandBuilder(dataAdapter);
                    

                    DataTable table = new DataTable
                    {
                        Locale = CultureInfo.InvariantCulture
                    };

                    dataAdapter.Fill(table);
                    bindingSource1.DataSource = table;

                    dgvToDo.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader);
                    Conn.Close();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Es ist ein Fehler aufgetreten.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

Danke euch.
Andi

16.807 Beiträge seit 2008
vor 4 Jahren

IIRC dürfen da keine Lerzeichen im ConnectionString zwischen Key und Value sein.
Siehe auch https://www.connectionstrings.com/access/

Ansonsten halt die üblichen Hinweis wie:

  • Vermeide Access, Access ist keine echte Datenbank. Hat keine Berechtigung in .NET.
  • [Artikel] Drei-Schichten-Architektur
  • Repository- und Dispose Pattern erleichtert das Datenbank-Leben
T
2.219 Beiträge seit 2008
vor 4 Jahren

Wenn du eine lokale Anwendungsdatenbank brauchst, nimm eine entsprechende Embedded DB wie z.B. Sqlite.
Für diese gibt es auch einen .NET DB Provider und generell sehr gute Unterstützung.

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.