Bonjour à tous,
Cela faisait bien longtemps que je n'étais pas venu sur ce forum. Cela fait plaisir de se replonger dans le développement.
Je planche actuellement sur une application PPC en VB.NET avec laquelle je souhaite synchroniser des bases de données SQL CE 2.0 / SQL serveur 2000.
J'ai donc paramètré mon poste de travail avec MSDE, puis j'y ai installé SQL CE dévelopment Tools et SQL CE Server Tools.
Lorsque je fais les tests http://monPC/SQLCE/sscesa20.dll, cela fonctionne.
J'y ai implémenté le code suivant pour récupérer les données du PC vers le Pocket :
cette procédure me permet de récupérer n'importe quelle table de ma base de données en lui indiquant en second paramètre la chaine SQL, puis en spcifiant si la table extraite du périphérique fait l'objet ou non d'un suivi (option RDATrackOption).
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 Public Sub Synchronise(ByVal NomTable As String, ByVal ChaineSQL As String, ByVal OptionSuivi As RdaTrackOption) ' Connection String to the SQL Server. Dim rdaOleDbConnectString As String = _ "Provider=sqloledb; Data Source=BARTON\MSDE;Initial Catalog=ValTrace; " + _ "User Id=sa; Password = admin" ' Initialize RDA Object. Dim rda As SqlCeRemoteDataAccess = Nothing Try 'Try the Pull Operation. rda = New SqlCeRemoteDataAccess rda.InternetLogin = "" rda.InternetPassword = "" rda.InternetUrl = "http://192.168.0.101/sqlce/sscesa20.dll" rda.LocalConnectionString = "Provider=Microsoft.SQLSERVER.OLEDB.CE.2.0;Data Source=\My documents\Datas\valpocket.sdf" rda.Pull(NomTable, ChaineSQL, rdaOleDbConnectString, OptionSuivi) Catch e As SqlCeException 'Use you own Error Handling Routine. MessageBox.Show(e.Message) Finally 'Dispose of the RDA Object. rda.Dispose() End Try End Sub
Cela fonctionne bien si les tables n'existent pas sur le pocket : la procédure crée les tables et importe les données.
Mais lorsque les tables existent déjà, j'obtiens le message
Par déduction, je pense qu'il faut que je change un paramètre d'importation pour lui dire qu'il synchronise ; mais j'ai essayé un peu tous les modes (RDATrackOption) et rien n'y fait.The LocalTableName parameter is already spécified
Quelqu'un a-t-il déjà eu cette erreur ?
Merci d'avance pour vos lumière si utiles et bienfaisantes...
Partager