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

Bases de données Delphi Discussion :

SaveToFile - LoadFromFile (SqlServer)


Sujet :

Bases de données Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 19
    Points : 12
    Points
    12
    Par défaut SaveToFile - LoadFromFile (SqlServer)
    bonjour,

    Je voudrais transférer les données d'une base Sql dans une autre. J'ai donc fait un bout de code avec des compo ADOConnection et ADOTable pour obtenir des fichiers XLM via la fonction SaveToFile.
    Mon problème c'est que que bien que mon programme ne plante à priori pas, quand je veux restaurer les données dans l'autre base au moyen de ADOTable1.LoadFromFile, ma table reste désespérement vide !!
    Je n'ai aucun message d'erreur, à priori tout est ok, mais les tables ne se remplissent pas.
    Je précise que les 2 bases de données sont strictement identiques, simplement une est remplie et l'autre vide. J'ai même fait l'essai en vidan manuellement une des tables sur la base source et le LoadFromFile ne donne toujours rien...

    code pour le SaveToFile:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
      SListBox1.Clear;
      ADOConnection1.GetTableNames(sListBox1.Items, False);
      For i := 0 To Slistbox1.Items.Count - 1 Do
      Begin
        ADOTable1.TableName := SListBox1.items[i];
        SButton1.Caption := SListBox1.items[i];
        ADOTable1.Active := True;
        ADOTable1.SaveToFile('c:\ADO\' + SListBox1.items[i] + '.xml', pfXML);
        ADOTable1.Active := False;
      End;
    Code pour le LoadFromFile (uniquement sur la première table pour test)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      SListBox1.Clear;
      ADOConnection1.GetTableNames(sListBox1.Items, False);
      ADOTable1.TableName := SListBox1.Items[0];
      ADOTable1.LoadFromFile('c:\ADO\' + SListBox1.Items[0] + '.xml');
      ADOTable1.Open;
    Pourtant à l'écran tant que je ne suis pas sorti de mon prog, la table est bien remplie, je la visualise par une dbgrid...

  2. #2
    Membre chevronné Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 552
    Points : 1 780
    Points
    1 780
    Par défaut
    Et t'as quoi dans ton fichier XML ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 19
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par philnext Voir le message
    Et t'as quoi dans ton fichier XML ?
    Exemple de fichier XML (extrait):
    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
    <xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'
    	xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'
    	xmlns:rs='urn:schemas-microsoft-com:rowset'
    	xmlns:z='#RowsetSchema'>
    <s:Schema id='RowsetSchema'>
    	<s:ElementType name='row' content='eltOnly' rs:updatable='true'>
    		<s:AttributeType name='Index_Agenda' rs:number='1' rs:basecatalog='PharmaVitaleBD' rs:basetable='agenda' rs:basecolumn='Index_Agenda'
    			 rs:keycolumn='true' rs:autoincrement='true'>
    			<s:datatype dt:type='int' dt:maxLength='4' rs:precision='10' rs:fixedlength='true' rs:maybenull='false'/>
    		</s:AttributeType>
    		<s:AttributeType name='dateMsg' rs:number='2' rs:writeunknown='true' rs:basecatalog='PharmaVitaleBD' rs:basetable='agenda'
    			 rs:basecolumn='dateMsg'>
    			<s:datatype dt:type='dateTime' rs:dbtype='timestamp' dt:maxLength='16' rs:scale='3' rs:precision='23' rs:fixedlength='true'
    			 rs:maybenull='false'/>
    		</s:AttributeType>
    		<s:AttributeType name='heuredebut' rs:number='3' rs:writeunknown='true' rs:basecatalog='PharmaVitaleBD' rs:basetable='agenda'
    			 rs:basecolumn='heuredebut'>
    			<s:datatype dt:type='dateTime' rs:dbtype='timestamp' dt:maxLength='16' rs:scale='3' rs:precision='23' rs:fixedlength='true'
    			 rs:maybenull='false'/>
    		</s:AttributeType>
    		<s:AttributeType name='heurefin' rs:number='4' rs:writeunknown='true' rs:basecatalog='PharmaVitaleBD' rs:basetable='agenda'
    			 rs:basecolumn='heurefin'>
    			<s:datatype dt:type='dateTime' rs:dbtype='timestamp' dt:maxLength='16' rs:scale='3' rs:precision='23' rs:fixedlength='true'
    ...
    Je ne suis pas spécialiste en XML, mais à priori le début correspond à la description de la structure table, et il y a ensuite le contenu des enregistrements (ce que l'on ne voit pas dans l'exemple au-dessus).Il y a de quoi reconstitué la table me semble-t-il...
    De toute façon quelque soit le contenu du fichier généré, le "tadem" SaveToFile-LoadFromFile est sensé comprendre le type de fichier qu'il génére quelque soit son format, sinon je ne vois pas trop l'intérêt.

    Il doit peut-être falloir ajouter une instruction pour mettre à jour la table sur le serveur à partir du contenu du ADOTable mais je ne trouve pas

Discussions similaires

  1. TMemo : SaveToFile/LoadFromFile : Perte d'information.
    Par Nicolas Coolman dans le forum Langage
    Réponses: 2
    Dernier message: 04/11/2013, 14h56
  2. IdMessage : SaveToFile/LoadFromFile - Multipart mail
    Par loukoum82 dans le forum Composants VCL
    Réponses: 0
    Dernier message: 07/07/2011, 11h21
  3. [CR SQLServer] Changer la connexion de l'etat
    Par Grégory DAVIN dans le forum Connectivité
    Réponses: 4
    Dernier message: 27/03/2007, 16h32
  4. [Comparatif] DB2, Oracle et SQLServer
    Par Laurent MALAVASI dans le forum Décisions SGBD
    Réponses: 6
    Dernier message: 25/10/2002, 12h26
  5. Création d'agrégat avec SQLServer
    Par Testav dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 19/09/2002, 16h54

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