Entwickler-Ecke

Datenbanken (inkl. ADO.NET) - SQL Abfrage von 2 Verschiedenen Servern


highlander78 - Di 11.05.10 01:15
Titel: SQL Abfrage von 2 Verschiedenen Servern
Hallo,

ich hole mir Daten von 2 verschiedenen Servern ab.
Das ganze hat bis jetzt funktioniert, bis vor kurzem als einer von den Servern offline war.

Wie könnte ich das Lösen dass das mein Programm trotzem funktioniert und halt die Daten von dem Server holt der online ist...

Mit ping. bzw connection.timeout... überprüfen.?



C#-Quelltext
1:
2:
3:
4:
5:
Server1:
SqlCommand cmd = new SqlCommand(" select * from Tabelle",verbindung1);

Server2:
SqlCommand cmd = new SqlCommand(" select * from Tabelle2",verbindung2);

verbindung1 bzw verbindung 2 ist sind meine 2 Connection Strings.

Soll ich zwischen den beiden eine Schleife einbauen ...oder wie kann man das am einfachsten Lösen..


Christoph1972 - Di 11.05.10 07:04

Hi,

ich mache das so. Ob das best practice ist kann ich nicht sagen, zuverlässig ist es jedoch.


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
/// <summary>
/// Gibt zurück ob der Server antwortet
/// </summary>
/// <returns>boolean</returns>
public Boolean ServerResponse()

        using (SqlConnection Conn = new SqlConnection(@"Data Source=" + SQLServerConn.ServerSettings.DataSource + ";User Id=" + SQLServerConn.ServerSettings.User + ";Password=" + SQLServerConn.ServerSettings.PW + ";"))
        {
            try
            {
                Conn.Open();
                return true;
            }
            catch
            {
                return false;
            }            
        }   
}


highlander78 - Mi 12.05.10 16:09

Ist das die einzige Lösung zum überprüfen ob ein rechner im Netzwerk verfügbar ist ?

Oder hat vielleicht noch jemand eine Idee :-)


Gruss


Kha - Mi 12.05.10 16:14

Was soll es noch für bessere Lösungen geben? Du willst wissen, ob du dich mit dem Server verbinden kannst, und das wird dir Open selbst wohl am besten sagen können. Ich meine, dafür wurden Exceptions schließlich erfunden ;) .