Libreria sincronizzazione .NET

La libreria di sincronizzazione permette di integrare all'interno delle proprie applicazioni Windows Form la tecnologia di scambio dati di Nios4. In questo modo è possibile rendere i propri progetti dei sistemi cloud completi facendo transitare i dati sui server di Nios4. Questa libreria è specifica per i progetti sviluppati con il Framework.NET di Microsoft. Per progetti basati su Xamarin o .NET Core occorre utilizzare la libreria dedicata.

Creazione del progetto

In questo esempio utilizzeremo Visual Studio 2019. Lanciare il programma e creare un nuovo progetto utilizzando il modello "App Windows Forms (.NET Framework)" per c#.

Dopo aver scaricato la libreria di sincronizzazione da questo link caricatela come riferimento all'interno del progetto, comprese le sue dipendenze e come ultima cosa aggiungete un file Acces vuoto. Questo file verrà utilizzato dalla libreria come database dove leggere e scrivere i dati. Oltre ai database di Access è possibile utilizzare anche SQL Server.

Creato il progetto di base aggiungiamo il codice per eseguire la sincronizzazione dei dati. In questo esempio faremo eseguire la sincronizzazione sulla creazione dell'oggetto Form1.

using System;

using System.Windows.Forms;

using System.Data.OleDb;

using SyncNios4;


namespace demo_sync

{

public partial class Form1 : Form

{

public OleDbConnection dbconnection = new OleDbConnection();


public Form1()

{

InitializeComponent();


dbconnection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + AppDomain.CurrentDomain.BaseDirectory + "\\DBEMPTY.mdb;Persist Security Info=False";

dbconnection.Open();


SyncNios4.CSyncNios4 N4 = new CSyncNios4();


Double tid = 0;


if (!N4.Synchronize("username", "password", "dbname", dbconnection, ref tid))

{

Console.Write(N4.ErrorN.ErrorMessage);

}


}

}

}

Come prima cosa creeremo l'oggetto OleDb per la connessione al database che verrà utilizzato dal sincronizzatore

Creata la connessione e l'oggetto del sincronizzatore vero e proprio lanceremo il comando di sincronizzazione. I parametri da passare sono i seguenti:


username e password

I dati di accesso al nostro account Nios4

dbname

il nome del database cloud a cui collegarsi. Questo nome non corrisponde con l'etichetta del Database. Il valore è comunque rintracciabile all'interno dei dispositivi

dbconnection

la connessione aperta al database che verrà utilizzato dalla libreria di sincronizzazione

tid

E' il valore di riferimento temporale per la sincronizzazione, è un valore di tipo double che viener utilizzato dal server per sapere da quando partire a inviare i dati. Il formato del numero deve essere YYYYMMDDhhmmss. Passando il valore 0 si richiede di ricevere tutti i dati del database cloud. Comunque anche se verranno ricevuti tutti la libreria controllerà gli eventuali dati già presenti in locale eseguendo solo le effettive modifiche ricevute.

Eseguita la sincronizzazione il metodo ridarà il tid aggiornato riportante la data di riferimento da utilizzare per le prossime sincronizzazioni, in modo da ricevere solo le ultime modifiche. In caso di errore si potrà leggere il messaggio attraverso lo specifico oggetto ErrorN della libreria.

Invio dei dati

La libreria seleziona i dati da inviare in base al valore del campo tid di ogni record. Questo campo è presente all'interno di tutte le tabelle standard del database. Per variare questo valore è possibile utilizzare la funzione N4.UT.NTID(). Questa ridà il tempo corrente su timezone UTC già formattato. Aggiornato il recordo con questo valore, alla prossima sincronizzazione la libreria lo invierà al server.