Oliver M. - Di 21.12.10 20:46
Titel: Error 26 beim Open-Befehl. Was mache ich falsch?
Hallo ihr da,
wenn das Programm zu der Zeile "sqlConnection.Open();" kommt, vergeht das Connection-Timeout und ich erhalte forgende Meldung:
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: SQL-Netzwerkschnittstellen, error: 26 - Fehler beim Bestimmen des angegebenen Servers/der angegebenen Instanz)
Hier mein Connection-String:
C#-Quelltext
1:
| Data Source=|DataDirectory|\Data.sdf;Connect Timeout=10 |
Und hier mein problematischer Codeausschnitt:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| public static class Access { public static SqlConnection sqlConnection = new SqlConnection(Properties.Settings.Default.DataConnectionString); public static void TestConnection() { if (sqlConnection.State != ConnectionState.Open) { if (sqlConnection.State == ConnectionState.Closed) { sqlConnection.Open(); } } } } |
Ich hoffe ihr könnt mir helfen
MfG Oliver M.
Moderiert von
Kha: I- durch C#-Tags ersetzt
Trashkid2000 - Mi 22.12.10 11:12
Hallo und willkommen im Forum! :welcome:
Also das Problem ist, dass Du versuchst, Dich mit einer SqlConnection auf eine SQL Server Compact-Datenbankdatei zu verbinden. Das klappt nicht, da die SqlConnection nur für MSSQL-Server ist, also Express und der "richtige". Für SQLCompact gibt es eigene Klassen.
Zuerst einmal musst Du im Projekt eine Referenz auf "System.Data.SqlServerCe" einbinden. Und dann so auf die DB zugreifen:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7:
| using System.Data.SqlServerCe;
string connectionString = @"Data Source=c:\Temp\Data.sdf"; using (SqlCeConnection conn = new SqlCeConnection(connectionString)) { conn.Open(); } |
Mit dem Timeout: ich glaube, den kann man bei SqlCe gar nicht festlegen. Zumindest nicht im Connectionstring.
LG, Marko