PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV (précédentes versions) → copie d'une base de données
copie d'une base de données
Débuté par priv!4nzon7qu7or46Mtznvy+p1z, 09 jan. 2025 11:49 - 1 réponse
Membre enregistré
4 messages
Posté le 09 janvier 2025 - 11:49
Bonjour

je me bagarre depuis plusieurs heures vainement : pour copier les fichiers de la base de données développement vers la base de données production , j'utilise la commande Hcopyfichier et le serveur me renvoie le message d'erreur suivant :
Mon code :
varnom = "Administration.fic"
HCopieFichier(MaConnexion2, varnom, "", "D:\ServeurLinux\Sauvegarde\" + varnom)
( le fichier est importé depuis mon PC et est censé etre copié dans la base de donnés définie par la connexion : maconnexion2)

Le site a mal fonctionné car aucune page n'a été renvoyée :
- Si vous utilisez les fonctions FinProgramme(), ContexteFerme() ou Ferme(), vérifiez qu'elles sont bien précédés d'un appel à une commande d'affichage (PageAffiche, PageActualise, Ouvre, ScriptAffiche, ChaîneAffiche, FichierAffiche, etc.).

Quelqu'un peut il m'aider ?

merci par avance
Membre enregistré
175 messages
Posté le 09 janvier 2025 - 15:57
Bonjour

Je vois votre problème, vous voulez copier un fichier dans un répertoire sépecifié, j'ai une solution très efficace pour vous

1. Vous devrez utiliser la syntaxe fCopierFichier, c'est très efficace parce que vous devrez ensuite utiliser la syntaxe HDéclareExterne et la syntaxe HAnnuleDéclaration

Voilà un programme pour vous qui est opérationnel

// EDD (01/25) : créer une table TBL_Fichier avec une seule colonne COL_Identifiant

// EDD (01/25) : créer un bouton avec le programme ci - dessus
LOCAL
cFichier is ClFichier
cFichier:Selecteur()
IF cFichier:m_sFichier <> "" THEN
cFichier:Copier()
cFichier:Déclaration()
TableSupprimeTout(TBL_Fichier)
POUR TOUT cFichier:m_sFichier // EDD (01/25) : Parcours d'information de fichier
TableAjouteLigne(TBL_Fichier, {cFichier:m_sFichier + ".Identifiant", indRubrique})// EDD (01/25) : Un rubrique dans la base 'Identifiant' est affiché
FIN
cFichier:Annulation()
TableSelectMoins(TBL_Fichier)
Info("La liste d'information identifiant est réussie.")
END

// EDD (01/25) : créer une nouvelle classe ClFichier
ClFichier est une Classe
m_sFichier is string
m_sSource is string
FIN

// EDD (01/25) : créer une nouvelle méthode Copier()
PROCÉDURE Copier()
LOCAL
tbString is tableau of string
TableauAjouteLigne(tbString, :m_sFichier + ".fic")
TableauAjouteLigne(tbString, :m_sFichier + ".mmo")
TableauAjouteLigne(tbString, :m_sFichier + ".ndx") // EDD (01/25) : Dans le cas ou il existe des fichiers binaire alors l'extension ".mmo" est nécessaire
FOR i = 1 _TO_ TableauOccurrence(tbString)
IF fFichierExiste(:m_sSource + "\" + tbString[i]) = True THEN
IF fCopieFichier(:m_sSource + "\" + tbString[i], :Destination() + "\" + tbString[i]) = False THEN
Info(ErreurInfo(errComplet))
EndProgram()
END
END
END

// EDD (01/25) : créer une nouvelle méthode Déclaration() dans la classe ClFichier
PROCÉDURE Déclaration()
IF HDéclareExterne(:Destination() + "\" + :m_sFichier + ".fic", :m_sFichier) = False THEN
Info(ErreurInfo(errComplet))
EndProgram()
END

// EDD (01/25) : créer une nouvelle méthode Annulation() dans la classe ClFichier
PROCÉDURE Annulation()
IF HAnnuleDéclaration(:m_sFichier) = False THEN
Info(ErreurInfo(errComplet))
EndProgram()
END

// EDD (01/25) : créer une nouvelle méthode Selecteur() dans la classe ClFichier
PROCÉDURE Selecteur()
LOCAL
sString is string = fSélecteur(fRepExe(), "Fichier.fic", "Sélectionner un fichier", "Fichier fic (*.FIC)" + TAB + "*.fic", "fic")
:m_sFichier = ""
:m_sSource = ""
IF sString <> "" THEN
:m_sFichier = fExtraitChemin(sString, fFichier)
:m_sSource = fExtraitChemin(sString, fDisque + fRépertoire)
END

NB : Dans le parcours d'information du fichier, essaie d'écrire un rubrique éxistant, là c'est 'Identifiant' pour l'instant

Cordialement
Mr.RATSIMANDRESY
Niry Aina Eddy





: Lecture de copie de fichier HFSQL dynamique