Autor Beitrag
Oliver M.
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 109
Erhaltene Danke: 1

Win 8 CP
VS 11 Beta
BeitragVerfasst: Di 21.12.10 21:46 
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:
ausblenden C#-Quelltext
1:
Data Source=|DataDirectory|\Data.sdf;Connect Timeout=10					


Und hier mein problematischer Codeausschnitt:
ausblenden 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 user profile iconKha: I- durch C#-Tags ersetzt
Trashkid2000
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 561
Erhaltene Danke: 137



BeitragVerfasst: Mi 22.12.10 12: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:
ausblenden 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

Für diesen Beitrag haben gedankt: Oliver M.