Keine Verbindung zur Datenbank

  • VB.NET

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Keine Verbindung zur Datenbank

    Hallo,

    ich habe eine Lokale MDF Datenbank ( in VB.net selbst erstellt(Dienstbasierte Datenbank) und möchte diese in meinem Vb.Net 2010 Programm nun auch nutzen. Die Daten sollen aus einer bestimmten Spalte ausgelesen werden (Emailadresse).

    Datenbankname = Emailadressen
    Tabellenname = Adressen


    Der Fehler:
    Leider bricht er bei mir ab und sagt er kann keine Verbindung zur Datenbank herstellen.
    Ich finde den Fehler einfach nicht...

    Mein Code:

    VB.NET-Quellcode

    1. Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
    2. Dim con As New SqlClient.SqlConnection
    3. Dim cmd As New SqlClient.SqlCommand
    4. Dim reader As SqlClient.SqlDataReader
    5. Try
    6. con.ConnectionString = "Data Source=EmailAdressen.mdf"
    7. cmd.Connection = con
    8. cmd.CommandText = "select * from EmailAdressen"
    9. con.Open()
    10. reader = cmd.ExecuteReader()
    11. ListBox1.Items.Clear()
    12. Do While reader.Read()
    13. ListBox1.Items.Add(reader("Wert"))
    14. Loop
    15. reader.Close()
    16. con.Close()
    17. Catch ex As Exception
    18. MsgBox(ex.Message)
    19. End Try
    20. End Sub


    Danke

    MFG
    Yonda
    Er findet die DB Datei nicht.
    Er sucht im Pfad der exe aber die mdf liegt wahrscheinlich nicht dort, sondern im Projekt-Ordner. Datenbank im Sol Explorer auswählen und "copy always" auswählen.
    Achtung: Die Datenbank wird jedesmal überschrieben! Änderungen bleiben also nicht erhalten. Abhilfe wäre ein anderer Pfad der absolut angegeben wird.
    Hab schon so eingestellt gehabt.
    Auch der Absolute Pfad bringt leider nicht die Lösung.

    Der Fehler heisst:
    (Code wie im letzten Post)


    Netzwerkbezogener oder instanzspezifischer Fehler beim Herstellen einer Verbindung mit SQL Server. Der Server wurde nicht gefunden, oder auf ihn kann nicht zugegriffen werden. Überprüfen Sie, ob der Instanzname richtig ist und ob SQL Server Remoteverbindungen zulässt. (provider: Named Pipes-Provider, error: 40 - Verbindung mit SQL Server konnte nicht geöffnet werden)

    Anderer Fehler:
    (Code mit angabe des Dateipfades (C:\Users\xxx\Documents\Visual Studio 2010\Projects\Email-Programm\Email-Programm\EmailAdressen.mdf))

    Netzwerkbezogener oder instanzspezifischer Fehler beim Herstellen einer Verbindung mit SQL Server. Der Server wurde nicht gefunden, oder auf ihn kann nicht zugegriffen werden. Überprüfen Sie, ob der Instanzname richtig ist und ob SQL Server Remoteverbindungen zulässt. (provider: SQL-Netzwerkschnittstellen, error: 26 - Fehler beim Bestimmen des angegebenen Servers/der angegebenen Instanz)

    Was mache ich falsch?

    Mfg
    Yonda
    Hi,

    also ich habe auch mit ner Datenbank gearbeitet, allerdings ne *.mdb, es sollte also das gleiche Prinzip sein.
    Wenn du die Datenbank in dein /bin/debug Ordner verschiebst, sollte das mit dem Überschreiben weg sein.

    Soll die Datenbank über einen Server erreichbar sein oder wird das immer nur eine lokale Datenbankdatei sein, wo nur due darauf zugreifst ? Wenn ich mich da nicht verlesen habe, werden mdf Dateien immer über einen SQL Server angesprochen, und mdb Dateien sind vereinfacht ausgedrückt Access Dateien.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „HerrFrie“ ()

    Sie soll nur von meinem Programm Lokal also ohne Server angesprochen werden.
    Ist ne MDF datei.

    Ich möchte das meine Anwendung also VB die Daten aus einer Spalte in der Datenbank ausliest, diese in eine Variable oder in eine Textbox schreibt, so das ich damit arbeiten kann.
    Als lokale Datei würde ich persönlich dann eher eine mdb oder accdb nehmen. Für lokale Datenbanken sind die eher gedacht und du kannst sie beide auch in Access öffnen.

    Dafür nimmst du dann anstelle von sqlcommand die oledb Befehle wie OleDBCommand, OleDBDatareader.
    Du kannst diese auch ohne Datareader einlesen und speicherst die Datenbank in eine DataSet/DataTable.
    Die Anzeige kannst du dann gestallten wie du möchtest, am Einfachsten ist es dann z.B. die Daten in einem DataGridView anzeigen zu lassen. Das sieht dann aus wie in Excel. Hier kannst du die Daten ändern, löschen und hinzufügen.
    Hi,
    ich hab ein ähnliches Problem, nur das meine .mdf Datei auf einem Server liegt.

    1. Probelm = Müssen irgendwelche Verweise in mein Projekt Importiert werden?

    2. Problem = Wie baut sich der ConnectionString auf ? IP? Username? Passwort?



    vielen dank schonmal für die Hilfe