Laden...

Zugriff auf Sql Server

Erstellt von alaan vor 17 Jahren Letzter Beitrag vor 17 Jahren 9.564 Views
A
alaan Themenstarter:in
59 Beiträge seit 2006
vor 17 Jahren
Zugriff auf Sql Server

Hallo,

ich bin absoluter Anfänger, was den Zugriff auf Datenbankserver angeht. Ich habe ein wenig Erfahrung mit dem Zugriff von VB 6.0 auf Access mittels DAO oder ADO.
Nun bin ich dabei, mir C# beizubringen. Ich würde gerne mit Daten aus dem Sql Server Express hantieren, mit Beispieldaten aus einer Datenbank lerne ich eine neue Sprache am besten. Allerdings, wie gesagt, mir fehlt jegliche Erfahrung, was den Zugriff auf den Sql Server angeht. Ich habe den Zugriff versucht nach dem Buch "Visual C# 2005" von Andreas Kühnel. Leider klappt die Verbindung nicht so, wie es beschrieben wird. Mit dem "Microsoft Sql Server Management Studio Express" klappt die Verbindung zur Beispieldatenbank "pubs" einwandfrei. Wenn ich aber per C#, wie im Buch beschrieben, die Verbindung herstellen will, kommt eine Fehlermeldung, die besagt, dass vielleicht die Remoteverbindung nicht zulässig sei. Wieso klappt es dann aber mit dem Management Studio?
Was ich auch nicht recht verstehe, in der C# Online Hilfe wird beschrieben, man solle eine Datenbankdatei erzeugen, also eine mdf.-Datei. Davon ist im Buch keine Rede. Worin besteht der Unterschied? Gibt es jemanden hier, der sich mit der Thematik auskennt und mir bei meinen Startschwierigkeiten helfen kann?
Hier der besagte Code aus dem Buch:


using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;

namespace PubsExample
{
    class Program
    {
        static void Main(string[] args)
        {
            SqlConnection con = new SqlConnection();
            con.ConnectionString = "Data Source=(local);" +
                                   "Initial Catalog=pubs;" +
                                   "Trusted_Connection=yes";

            try
            {
                con.Open();
            }

            catch (exception e)
            {
                Console.WriteLine(e);
            }
           
            Console.WriteLine("alles klar");
            Console.ReadLine();
        }
    }
}



die Fehlermeldung lautet genau, wenn man ausführt:

Fehler beim Herstellen einer Verbindung mit dem Server. Beim Herstellen einer Verbindung mit SQL Server 2005 kann dieser Fehler dadurch verursacht werden, dass unter den SQL Server-Standardeinstellungen Remoteverbindungen nicht zulässig sind. (provider: Named Pipes-Provider, error: 40 - Verbindung mit SQL Server konnte nicht geöffnet werden)

Ich wäre für Hilfe dankbar 🙂

Grüße

alaan

-
885 Beiträge seit 2004
vor 17 Jahren

Hallo alaan,

aber auch Anfänger sollten die Suche benutzen können.

A
alaan Themenstarter:in
59 Beiträge seit 2006
vor 17 Jahren
Zugriff auf Sql Server

Hallo acid,

das stimmt wohl, ich hatte aber nichts gefunden, was als Lösung dienen könnte.
Letztlich habe ich einfach etwas ausprobiert, was dann geklappt hat, nämlich den Connectionstring ändern zu:


con.ConnectionString = @"Server=maschine\SqlExpress;Database=pubs;Trusted_Connection=True;";

ich frage mich, warum denn das funktioniert, aber nicht eben jenes Konstrukt, wie schon beschrieben:


con.ConnectionString = "Data Source=(local);" + 
                       "Initial Catalog=pubs;" + 
                       "Trusted_Connection=yes";

Wenn es darauf eine Antwort gäbe, wäre ich ein Stück weiter. Bis dahin funktioniert es halt, ich weiss aber nicht, woran es gehappert hat.

Grüße

alaan

286 Beiträge seit 2006
vor 17 Jahren

Hi,
mit dem Remotezugriff bei SQL-Express hab ich auch ein bisschen suchen müssen.
Hab es dann mit diesen Infos geschafft:

http://vb2005.de/SQLServer.aspx
Was allerdings noch fehlt ist, dass der Registry - Schlüssel
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\90\SQL Browser\Ssrplistener auf 1 stehen muss und dass der SQL Server Browser automatisch gestartet werden soll.

Zusätzlich müssen die Berechtigungen stimmen. Hierfür habe ich im ersten Schritt dem Gast auf dem Server und der datenbank ausreichend Rechte gegeben.

Oh, hatte wohl nicht zu Ende gelesen ...
Naja, nun steht hier im Forum trotzdem mal ein Beitrag, wie der Remotezugriif auf eine nicht lokale MSSQL Express DB klappt und was man zu beachten hat.

Hoffe, ihr seid nicht böse drum.

Gruß, maYer