IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[vb net] Synchronisation SQL - SQL Mobile


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 61
    Points : 30
    Points
    30
    Par défaut [vb net] Synchronisation SQL - SQL Mobile
    Bonjour à tous,

    Je developpe actuellement une application pour pocket pc qui utilise une base de données. d'une part celle ci se trouve sur un serveur, d'autre part elle est exploitée sur le pocket pc.

    Je dois donc faire une réplication entre une base fixe et une mobile.

    je me suis aidé de ce tutorial:
    http://msdn2.microsoft.com/en-us/library/aa454892.aspx

    Malheureusement la partie "code" de ce tutorial n'est pas en vb.net et je dois adapter, mais comme je débute...

    Je voulais savoir s'il existait le même tuto avec le code en vb-net.
    Ou si vous pouvez me donnez les syntaxe en vb.net ce serait plutot sympa. A défaut tout ce qu'il faut savoir pour adapter.

    merci d'avance,

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 61
    Points : 30
    Points
    30
    Par défaut
    j'ai trouvé sur internet un convertisseur c# ==> vb.net

    J'obtiens au final ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
       Private Sub AIP_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
            Me.SaveData()
            SqlCeReplication.Dispose()
        End Sub
     
        Private Sub AIP_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
            'TODO : cette ligne de code charge les données dans la table 'ZitSQLMobileDataSet.T_Code_PSV'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
            'Me.T_Code_PSVTableAdapter.Fill(Me.ZitSQLMobileDataSet.T_Code_PSV)
            Me.InitReplication()
            If Me.Connect() Then
                Me.GetData()
            End If
        End Sub
     
        'SYNCHRONISATION
     
        'Declaration de la classe
        Dim SqlCeReplication As New SqlCeReplication()
     
     
        Private ReadOnly Property DataFileName() As String
            Get
                Return Path.ChangeExtension([Assembly].GetExecutingAssembly().GetName().CodeBase, ".sdf")
            End Get
        End Property
     
     
        Private ReadOnly Property DataSourceConnectionString() As String
            Get
                Return String.Format("Data Source = {0};", Me.DataFileName)
            End Get
        End Property
     
     
        Private Function Connect() As Boolean
            If File.Exists(Me.DataFileName) Then
                Me.T_Code_PSVTableAdapter.Connection = New SqlCeConnection(Me.DataSourceConnectionString)
                Return True
            Else
                Return False
            End If
        End Function
     
        Private Sub GetData()
            Me.T_Code_PSVTableAdapter.Fill(Me.ZitSQLMobileDataSet.T_Code_PSV)
        End Sub 'GetData
     
        Private Sub SaveData()
            Me.T_Code_PSVTableAdapter.Update(ZitSQLMobileDataSet)
        End Sub 'SaveData
     
        Private Sub InitReplication()
            SqlCeReplication.InternetUrl = "http://Pascal_Portable/ZitSQLMobile/sqlcesa30.dll"
            SqlCeReplication.Publisher = "Pascal_portable"
            SqlCeReplication.PublisherDatabase = "ZitSQLMobile"
            SqlCeReplication.PublisherSecurityMode = SecurityType.NTAuthentication
            SqlCeReplication.Publication = "ZitSQLMobile"
            SqlCeReplication.Subscriber = "ZitSQLMobile"
            SqlCeReplication.SubscriberConnectionString = Me.DataSourceConnectionString
        End Sub
     
        Private Sub SyncZit()
            If File.Exists(Me.DataFileName) Then
                Me.SaveData()
                SqlCeReplication.Synchronize()
                Me.GetData()
            Else
                MessageBox.Show("The subscription database has not yet been created. You must first select the Init Sync menu item.")
            End If
        End Sub
        Private Sub Menu_Init_Sync_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Menu_Init_Sync.Click
            Dim okToContinue As Boolean = Not File.Exists(Me.DataFileName)
            If Not okToContinue Then
                okToContinue = MessageBox.Show("The SQL Mobile database already exists on this device and will be overwritten. Continue?", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1) = Windows.Forms.DialogResult.Yes
            End If
            If okToContinue Then
                File.Delete(Me.DataFileName)
                SqlCeReplication.AddSubscription(AddOption.CreateDatabase)
                Me.Connect()
                Me.SyncZit()
            End If
        End Sub
     
        Private Sub Menu_Sync_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Menu_Sync.Click
            Me.SyncZit()
        End Sub
    End Class
    Dans mon Application j'ai une TextBox qui affiche les données de la table "Code PSV" j'ai essayé de synchroniser ça.
    Pour avoir acccés au DataAdapter j'ai dû créer une table dans ma base mobile (au début je voulais que ce soit la synchronisation qui dédouble les tables, mais d'après le tuto on doit inclure un DataAdapter or si j'ai pas la table je peux pas en avoir :/ (je m'y prend peut etre mal) .

    Donc conclusion j'essaye pour voir (sans trop d'espoir), ca compile (c'est déjà ça)

    Et la erreur

    L'exception System.Data.SqlServerCe.SqlCeException n'a pas été gérée
    HResult=-2147012865
    Message=""
    NativeError=28037
    Source="Microsoft SQL Server 2005 Mobile Edition"
    StackTrace:
    at System.Data.SqlServerCe.NativeMethods.CheckHRESULT()
    at System.Data.SqlServerCe.SqlCeReplication.Synchronize()
    at AIP.AIP.SyncZit()
    at AIP.AIP.Menu_Init_Sync_Click()
    at System.Windows.Forms.MenuItem.OnClick()
    at System.Windows.Forms.Menu.ProcessMnuProc()
    at System.Windows.Forms.Form.WnProc()
    at System.Windows.Forms.Control._InternalWnProc()
    at Microsoft.AGL.Forms.EVL.EnterMainLoop()
    at System.Windows.Forms.Application.Run()
    at AIP.AIP.Main()
    Qq chose me parait bizarre c'est ce fameux "AIP.sdf"
    or ma base mobile que je souhaite avoir devrait s'apellait "ZitSQLMobile.sdf"



    Voilà je débute et je comprends pas tout. on peut m'aider?

Discussions similaires

  1. [Choix] SQL ou Mobile SQL
    Par balabonov dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 27/09/2006, 09h12
  2. [VB.Net][PPC] Synchro SQL 2K/SQL CE avec RDA
    Par anthony70 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 10/08/2006, 15h50
  3. [VB.NET] Crystal Reports, Sql server
    Par neuropathie dans le forum Windows Forms
    Réponses: 7
    Dernier message: 12/05/2006, 16h35
  4. Réponses: 10
    Dernier message: 04/04/2006, 01h21
  5. synchronisation mysql SQL server
    Par constantin dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 05/01/2006, 18h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo