2009-03-24 5 views
4

J'ai une application Windows qui se connecte à la base de données pour lire certaines données. Étant donné que la base de données est configurée pour la résilience, mon application doit se connecter à l'une des deux bases de données. Quelqu'un peut-il spécifier quelle serait la syntaxe pour spécifier le partenaire de basculement dans une chaîne de connexion en utilisant l'authentification du serveur SQL.Comment ajouter un partenaire de basculement à une chaîne de connexion dans VB.NET

Toute aide est grandement appréciée.

Répondre

10

Vérifiez connectionstrings.com:

Base de données en miroir
Si vous vous connectez avec ADO.NET ou le Native Client SQL à une base de données qui est en miroir, votre application peut tirer parti de la capacité des pilotes à automatiquement rediriger les connexions lorsqu'un basculement de mise en miroir de base de données se produit. Vous devez spécifier le serveur principal et la base de données initiaux dans la chaîne de connexion et le serveur partenaire de basculement.

Data Source=myServerAddress;Failover Partner=myMirrorServerAddress;Initial 
Catalog=myDataBase;Integrated Security=True; 

Il y a beaucoup d'autres façons ofcourse d'écrire la base de données en utilisant la chaîne de connexion en miroir, c'est un exemple montrant la fonctionnalité de basculement. Vous pouvez combiner ceci avec les autres options de chaînes de connexion disponibles.

+0

Salut Joel, Merci pour votre resposne, cela fonctionnera même si je n'ai pas la configuration en miroir? – Vineet

+0

Puis-je utiliser la même chose pour les chaînes AD Connection pour spécifier une connexion LDAP de basculement? –

1

Si vous fournissez le nom d'un serveur partenaire de basculement dans la chaîne de connexion , le client de manière transparente tenter une connexion avec le basculement partenaire si la base de données principale est indisponible lorsque l'application client se connecte d'abord.

";Failover Partner=PartnerServerName" 

Si vous omettez le nom du serveur partenaire de basculement et la principale base de données est indisponible lorsque l'application cliente se connecte d'abord, puis un SqlException est élevé.

Source

+0

Merci Adam. Cela devrait marcher pour moi. – Vineet

0

Si vous n'avez pas mirroring mis en place entre les serveurs SQL, vous pouvez le faire en utilisant .net. simplement dans une déclaration de capture.

code ci-dessous ..

enter code here 
Imports System.Data.SqlClient 
Imports System.Data 

Public Class dbConn 
Private primaryServerLocation As String = "SERVER=primaryAddress;DATABASE=yourDB;User id=youruserID;Password=yourPassword;" 
Private secondaryServerLocation As String = "SERVER=secondaryAddress;DATABASE=yourDB;User id=youruserID;Password=yourPassword;" 


Public sqlConnection As SqlConnection 
Public cmd As SqlCommand 

Public Sub primaryConnection() 
    Try 
     sqlConnection = New System.Data.SqlClient.SqlConnection(primaryServerLocation) 
     cmd = New System.Data.SqlClient.SqlCommand() 

     'test connection 
     sqlConnection.Open() 
     sqlConnection.Close() 
    Catch ex As Exception 
     secondaryConnection() 
    End Try 
End Sub 

Public Sub secondaryConnection() 
    'Used as the failover secondary server if primary is down. 
    Try 
     sqlConnection = New System.Data.SqlClient.SqlConnection(secondaryServerLocation) 
     cmd = New System.Data.SqlClient.SqlCommand() 

     'test connection 
     sqlConnection.Open() 
     sqlConnection.Close() 
    Catch ex As Exception 
    End Try 
End Sub 
End Class 
Questions connexes