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

ASP.NET Discussion :

Copier base de données SQL server en vers base access


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Points : 56
    Points
    56
    Par défaut Copier base de données SQL server en vers base access
    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

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    sql server le fait nativement
    sur une table : clic droit / exporter
    tu peux meme faire une requete pour pas tout prendre
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Points : 56
    Points
    56
    Par défaut
    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

  4. #4
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 400
    Points : 459
    Points
    459
    Par défaut
    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")

  5. #5
    Membre habitué Avatar de alicia26
    Inscrit en
    Avril 2007
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 321
    Points : 130
    Points
    130
    Par défaut
    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é

  6. #6
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    je crois qu'il vient de dire qu'il voulait faire ca par code ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Points : 56
    Points
    56
    Par défaut
    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...


  8. #8
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    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 ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Points : 56
    Points
    56
    Par défaut
    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 :

    Échec de la conversion de la valeur varchar « BDF.0304 » en type de données int.
    Merci encore, c'est sympa...

  10. #10
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    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
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Points : 56
    Points
    56
    Par défaut
    J'ai réussi a me connecter a ma base access...

    Voici donc la deuxieme partie du code transformer

    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()
    Il faut donc que j'arrive à rentrer tout les informations


  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Points : 56
    Points
    56
    Par défaut
    Probleme résolu ! Merci a toi sperot51

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. conversion base de données sql server 7 vers Oracle 9
    Par hottnikks_79 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 25/03/2008, 13h48
  2. Réponses: 1
    Dernier message: 17/12/2007, 12h08
  3. base de donnée sql server vers excel
    Par yucf_miagiste dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/07/2007, 12h38
  4. Importation d'une base de donnée sql server vers oracle
    Par delphy456 dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 17/01/2006, 14h44
  5. MS SQL server // restaurer une base sur MS SQL server
    Par Billouze dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 25/10/2005, 13h22

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