Ich habe eine Klasse erstellt, die eine Verbindung zu SQL Server herstellt, um eine gespeicherte Prozedur auszuführen. Wenn diese Klasse in einer Windows Forms-Lösung verwendet wird, kann erfolgreich auf die Datenbank zugegriffen werden. Wenn die Klasse in einem Windows-Dienst eingesetzt wird, erhalte ich den folgenden Fehler:
Eine netzbezogene oder inst Fehler ist beim Aufbau einer Verbindung zu SQL Server aufgetreten. Der Server wurde nicht gefunden oder war nicht erreichbar. Überprüfen Sie, ob der Instanzname korrekt ist und dass so konfiguriert ist, dass er Remote Verbindungen erlaubt. (Anbieter: [ ] Interfaces, Fehler: 26 - Fehler beim Auffinden des Server/Instanz angegeben)
Ich vermute, dass das Problem mit den Berechtigungen zusammenhängt.
Dies ist der relevante Abschnitt des Codes:
SqlConnection conn = new SqlConnection(j.ConnectionString);
SqlCommand cmd = new SqlCommand(j.Query, conn);
cmd.CommandType = CommandType.Text;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet("Table1");
da.Fill(ds, "Table1"); // <----- error occurs here (Windows Service only)
Die SQL Server-Version lautet
Microsoft SQL Server 2008 (SP1) - 10.0.2766.0 (X64)
Enterprise Edition (64-bit) on Windows NT 5.2 <X64>
(Build 3790: Service Pack 2)
Die Visual Studio-Version lautet Microsoft Visual C# 2008
Framework-Version ist 3.5 SP1
.