SQL Verbindung mit C#



  • ich verwende C# 2008 und als Datenbank MS SQL. Ich muss für mein Studium eine Datenbank erstellen und in C# eine Windows Form Anwendung erstellen, die Abfragen der Datenbank und Füllen der Datenbank mit neuen Werten enthält.

    Nun habe ich mit SQL eine Datenbank erstellt mit nur einer Tabelle mit dem Namen bndlaender. Die Tabelle enthält 3 Spalten mit Rang (als Schlüssel), Bundesland und Einwohner.

    Nun wollte ich eine Verbindung aufbauen, was leider nicht klappt. Hier mein Code:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    using System.Data.SqlClient; // Einbinden des Namensraums für SQL-Verbindungen
    
    namespace Datenbankbetrachter
    {
        public partial class Form1 : Form
        {
            SqlConnection verbindung = null;
            SqlCommand befehl = null;
    
            const string verbindungsstring = 
                // Attribute der Verbindungszeichenfolge:
                "Data Source = localhost" +     
                "Trusted_Connection = yes;" +   
                "Initial Catalog = laender";
    
            public Form1() // Konstruktor der Form
            {
                InitializeComponent();
    
                verbindung = new SqlConnection(verbindungsstring);  
    
                // Öffnen der DB_Verbindg.:
                try
                {
                    verbindung.Open();
                    MessageBox.Show("DB-Verbindung wurde geöffnet!");
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Fehler" + ex.Message, "Datenbankfehler");
                }
            }
        }
    }
    
    Als Fehlermeldung erhalte ich:
    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.
    

    Die Datenbankdatei laender.mdf liegt im gleichen Ordner wie das Projekt.



  • ist das Sql Server Express? Oder Compact? Möglicherweise ist das der falsche Conn-String.
    http://connectionstrings.com/sql-server-2005



  • Microsoft SQL Server 2005 habe ich. Ich habe die Visual Studio 2008er Version. Ich denke da ist die Express Version von SQL dabei.
    Muss bei dem Knoten Datenverbindungen die Verbindung getrennt sein? (also ein rotes x)

    Laut dem Buch was ich hab, ja.



  • rudpower schrieb:

    Muss bei dem Knoten Datenverbindungen die Verbindung getrennt sein? (also ein rotes x)

    Meinst du den server explorer? Isr wurscht, das ist nur zur Entwurfszeit. Kannst du dich denn mit dem server explorer mit der db verbinden?



  • ja mit dem kann ich mich verbinden.

    Habs grad hinbekommen mit einem anderen conn-string:

    const string verbindungsstring = 
                // Attribute der Verbindungszeichenfolge:
                "Data Source = .\\SQLExpress;" +
                "AttachDbFilename = C:\\Users\\Andreas\\Desktop\\DatenbankProjekt\\TestDB.mdf;" +
                "Integrated Security = True;" + 
                "Connect Timeout = 30;" +
                "User Instance = True;";
    

    So funktioniert es. Vielen Dank für den Tipp.


Log in to reply