Share via


Utilisation du mode de capture

Les programmes SMO peuvent capturer et enregistrer les instructions Transact-SQL équivalentes émises par le programme à la place ou en plus des instructions exécutées par le programme. Le mode de capture est activé au moyen de l'objet ServerConnection ou de la propriété ConnectionContext de l'objet Server.

Exemple

Pour utiliser un exemple de code qui est fourni, vous devrez choisir l'environnement de programmation, le modèle de programmation et le langage de programmation dans lequel créer votre application. Pour plus d'informations, consultez « Procédure : créer un projet Visual Basic SMO dans Visual Studio .NET » ou « Procédure : créer un projet Visual C# SMO dans Visual Studio .NET » dans la documentation en ligne de SQL Server.

Activation du mode de capture en Visual Basic

Cet exemple de code active le mode de capture, puis affiche les commandes Transact-SQL contenues dans la mémoire tampon de capture.

Activation du mode de capture en Visual C#

Cet exemple de code active le mode de capture, puis affiche les commandes Transact-SQL contenues dans la mémoire tampon de capture.

{   
// Connect to the local, default instance of SQL Server.   
Server srv;   
srv = new Server();   
// Set the execution mode to CaptureSql for the connection.   
srv.ConnectionContext.SqlExecutionModes = SqlExecutionModes.CaptureSql;   
// Make a modification to the server that is to be captured.   
srv.UserOptions.AnsiNulls = true;   
srv.Alter();   
// Iterate through the strings in the capture buffer and display the captured statements.   
string s;   
foreach ( String p_s in srv.ConnectionContext.CapturedSql.Text ) {   
   Console.WriteLine(p_s);   
}   
// Execute the captured statements.   
srv.ConnectionContext.ExecuteNonQuery(srv.ConnectionContext.CapturedSql.Text);   
// Revert to immediate execution mode.   
srv.ConnectionContext.SqlExecutionModes = SqlExecutionModes.ExecuteSql;   
}