Voila , j'ai une base de donnée en SQL server, je souhaiterais faire basculer certaine des informations d'une table vers une autre table en access...
Mais voila ,impossible de trouver un tuto ...
J'utilise Visual Studio 2003...
Merci d'avance
Voila , j'ai une base de donnée en SQL server, je souhaiterais faire basculer certaine des informations d'une table vers une autre table en access...
Mais voila ,impossible de trouver un tuto ...
J'utilise Visual Studio 2003...
Merci d'avance
Merci, mais j'aimerais que cela ce fasse dynamiquement car les données sont mise à jour...
Comment faire donc pour me connecter à ma base access et copier les données présentes sous SQL server??
Merci
Bonjour
Tu veux faire un synchronisation de base en gros ?
Voilà une solution :
- Sur la base d'origine (SQLServer pour toi apparemment) tu ajoute un Champ booleen par exemple 'SynchroOk'.
- Dans ton Site Web ou WebService qui effectue la synchro tu récupére les enregistrement où 'SynchroOk'='false' et tu met à jour ta base Access.
- Tu récupère les clés des enregistrements et tu met 'SynchroOk'='true' sur la base SqlServer.
Pour les connexion, requêtes .... tu peux utiliser les namespaces Data.SQLClient et Data.ODBCCLient
Je me base sur le framework 2.0, pas sûr donc que ça fonctionne pareil sur tu sous VS 2003.
Voilà
"Ce n'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont forcément raison" (Bernard Weber "Le mystere des dieux")
salut
je viens de migrer en quelques secondes une bdd de 15 tables sql server vers access.
Tout simple:
Ouvre la fenêtre Entreprise Manager de sql server(j'utilise la version 2000),clic droit sur la bdd,importer des données,sélection des bdd source et destination,affichage des tables,puis transfert des tables(structures et données).
NB: créer au préalable une bdd sous access.
Tiens moi informé
Oui c'est ca sperot51 , je dois faire ca par code ... De plus je ne peut pas toucher à la base SqlServer, je n'y est accés qu'en lecture seule... Ce sont des données que je récupére d'un programme que je ne dois donc pas modifier...
enfin je ne vois pas où tu bloques
tu créés un objet qui se connecte à sql server, un autre à access
le reste c'est de la logique à mettre en place
si la structure de change pas, tu ne fais que de la copie de données
tu lis une ligne (SELECT) que tu recopies de l'autre coté (INSERT)
pour ca tu peux faire un objet pour que le code soit plus simple
genre un objet que tu luis donne un datareader, il créé un tableau avec les noms des champs, un pour les valeurs, puis il créé une chaine d'insertion (penser à utililser des sqlparameters) que tu executes
puis .movenext etc..
si c'est des données qui évoluent et que tu dois mettre à jour souvent
soit tu effaces tout et tu reremplies tout (pas top)
soit tu réfléchis pour trouver les différences (pas évident à mettre en place)
avec un peu de chance tu peux créer un workspace qui se connecte aux 2 bases pour feinter le truc
ou encore mieux, si tu accès à sqlserver tu créé une nouvelle base qui sera l'image de celle d'access, comme ca tu travailles que sur sql server
tu veux encore 5 ou 6 idées ?
enfin as tu accès à sql server (meme sans avoir accès à la base 1) ?
que dois tu faire exactement, dans quel but, à quelle fréquence ?
Merci de tes idées
En faite le problème c'est que je n'y connais pas grand chose, je ne trouve pas réelement de tuto sur le sujet...
Ya aussi que j'ai commencé le VB dotNet depuis lundi en stage , et que je suis un peu beaucoup paumé...
Je te tiendrais au courant sur le sujet...
Et une tite question , j'ai un probleme de conversion ... j'ai essayé pas mal de chose (cast , Cint...) pour convertir un string en Integer afin d'effectuer ma requete...
J'obtiens ce message d'erreur :
Merci encore, c'est sympa...Échec de la conversion de la valeur varchar « BDF.0304 » en type de données int.
ctype() aussi converti
mais je crois qu'il faut qu'il y ait des chiffres aux debut de la chaine
enfin convertir un string avec des non chiffres en int c'est risqué, tu peux par contre le faire manuellementavec un truc dans le genre (non testé)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Public Function str_to_int(ByVal var As String) As Integer Dim var2 As String For i As Integer = 1 To len(var) If InStr("0123456789", Microsoft.VisualBasic.Mid(var, i, 1)) <> 0 Then var2 = var2 & Microsoft.VisualBasic.Mid(var, i, 1) End If Next str_to_int = CType(var2, Integer) End Function
J'ai réussi a me connecter a ma base access...
Voici donc la deuxieme partie du code transformer
Il faut donc que j'arrive à rentrer tout les informations
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 MyConnection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data source='bdd.mdb'" MyConnection.Open() Dim MyAdapter As OleDb.OleDbDataAdapter Dim MyCommand As OleDb.OleDbCommand Dim requete As String = "Insert into prog_pctopp(id,Client,delai) Values('id','client',delai)" MyCommand = New OleDb.OleDbCommand(requete, MyConnection) MyCommand.ExecuteReader() MyConnection.Close()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager