2017-05-23 2 views
0

J'essaie de lire de manière incrémentielle les modifications de CDC SQL Server. Dans mon premier intervalle, je requêteComment interroger SQL Server CDC via JDBC par incréments

Statement statement = connection.createStatement(); 
String queryString = "SELECT * FROM cdc.fn_cdc_get_all_changes_dbo_mytable(sys.fn_cdc_get_min_lsn('dbo_mytable'), " + 
    "sys.fn_cdc_get_max_lsn(), 'all') ORDER BY __$seqval"; 
ResultSet rs = statement.executeQuery(queryString); 

Maintenant, je sais que __ $ start_lsn est un LSN (Log numéro de séquence) en binaire (10). Bien que je ne comprenne pas comment je peux le lire comme un type Java afin que je puisse l'inclure dans ma prochaine requête et comment dois-je créer ma prochaine requête où je voudrais spécifier min_lsn comme le dernier LSN que j'ai traité.

Répondre

0

Vous pouvez utiliser plusieurs options pour récupérer les données de la ResultSet

Ensuite, pour créer une nouvelle requête, regarder à l'aide d'un un PreparedStatement. Il existe plusieurs options pour définir les données en fonction du type que vous avez extrait de la requête initiale.