ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / Managing databases / HFSQL / HFSQL Client/Server functions
  • Operating mode of HCopyFile
  • Use conditions
  • Names of data files and directories on the server
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
HCopyFile (Function)
In french: HCopieFichier
HFSQL Client/ServerAvailable only with this kind of connection
Copies an HFSQL data file (.fic, .ndx, .ftx, .sdx and .mmo files, if any):
  • from the HFSQL server to the server (to perform a backup for example).
  • from the HFSQL server to the client (to perform a local backup for example).
  • from the client to the HFSQL server (to update the data files for example).
  • from an HFSQL server to another HFSQL server.
// Copy the data files from server to server
// while renaming and changing directory
HCopyFile(MyConnection, ".\backup\customerfile_bck.fic", MyConnection, ".\customerfile.fic")
// Copy the data files from the server to the client computer
HCopyFile("", "C:\Data\Customer.fic", MyConnection, "customer.fic")
// Copy the data files from the client computer to the server
HCopyFile(MyConnection, "customer.fic", "", "C:\Data\Customer.fic")
// Copies the data file(s) from a server to another server
HCopyFile("CNT", "customer.fic", "CNT2", "dir\customer.fic", hNoIndex, PROGBAR_MyProgressBar)
// Copy the CUSTOMER data file to itself (save)
sMyDestinationDirectory is string = CompleteDir(fExeDir()) + "TestDirectory"
IF NOT fDirectoryExist(sMyDestinationDirectory) THEN fMakeDir(sMyDestinationDirectory)
HCopyFile("", sMyDestinationDirectory + "CUSTOMER.FIC", "", ...
CompleteDir(fExeDir()) + "CUSTOMER.FIC", hCopyIndex)
Android
// Usage example of HCopyFile in Android
// (from the HFSQL C/S server to the Android device)
HFCSConnection is Connection

// Connection parameters
HFCSConnection.Provider = hAccessHFClientServer
HFCSConnection.User = "admin"
HFCSConnection.Password = ""
HFCSConnection.Server = "192.168.40.26"
HFCSConnection.Database = "mydatabase"

sDBPath is string = (SysDirStorageCard() + [fSep] + ProjectInfo(piProjectName)

IF NOT HCopyFile("", sDBPath + [fSep] + "copy/customer.fic", ...
HFCSConnection, CUSTOMER.Name + ".fic") THEN
Error(HErrorInfo(hErrFullDetails))
END
Syntax
<Result> = HCopyFile(<Destination connection> , <Destination data file> , <Source connection> , <Source data file> [, <Copy mode> [, <Progress Bar control> [, <Password>]]])
<Result>: Boolean
  • True if the data file was copied,
  • False if an error occurs. HError is used to identify the error.
<Destination connection>: Character string or Connection variable
Connection to which the data file must be copied. This connection corresponds to:If this parameter corresponds to an empty string, the destination will be the local computer.
<Destination data file>: Character string
Name and path of destination data file. The path and this data file are automatically created if they do not exist on the server.
If the destination data file is found on the server, the path is relative to the database.
Caution: the extension of the '.fic' file must be specified.
<Source connection>: Character string or Connection variable
Connection from which the data file must be copied. This connection corresponds to:
<Source data file>: Character string
Name and path of the source data file (to copy). If the source data file is found on the server, the path is relative to the database.
Caution:
  • the extension of the '.fic' file must be specified.
  • the '.mmo' file, if any, will be automatically copied.
<Copy mode>: Optional Integer constant
Copy mode used:
hCopyIfNotFoundCopies the data file only if it does not exist at the specified location on the destination computer.
hCopyIndexData file indices are copied (NDX, SDX and FTX files, if any).
hCreateIndexData file indices are not copied (NDX, SDX and FTX files, if any). They are automatically re-created on the destination via a reindex operation.
If the data file is password-protected, the <Password> parameter must be specified.
hNoIndexData file indices are not copied (NDX, SDX and FTX files, if any).
<Progress Bar control>: Optional control name
Name of Progress Bar control found in the window, used to show the progress of copy.
<Password>: Optional character string
File password (if it exists). This password is required if the hCreateIndex constant is used.
Remarks

Operating mode of HCopyFile

  • The copied data file is unlocked, as well as the records found in the data file.
  • The index is not copied if it does not exist or if it is corrupted.
  • The password is not required to copy the data file. However, the copied data file remains password-protected.
  • It is not possible to copy data files to a source server of a SPARE replication server.
  • Data file in transaction: before copying the data file, we advise you to:

Use conditions

  • You can also copy a data file from the client computer to the same client computer. In this case, this function is equivalent to fCopyFile.
  • This function is used to copy files to an HFSQL server (in Client/Server mode). This function cannot be used with an external server (Oracle or other).
  • To copy an HFSQL data file from a local computer to the server, all the users must have freed such file beforehand. No connection to the data file must be in progress, or the copy will fail. To prevent any new connection to the data file, you can:
  • Replicated data files (replication between servers):
    For a replicated data file, HCopyFile must not be used to copy a data file to the server: the copy is not possible. However, a data file can be copied from the server to the client computer.
  • HFSQL cluster
    • If the data files to be copied use enhanced security, you need to specify the password of the data file password with the <Password> parameter. This password is required to synchronize data files on the different nodes.
    • To use HCopyFile with an HFSQL cluster, it is necessary that both the HFSQL cluster and the client application use at least version 2024 Update 1.

Names of data files and directories on the server

  • The names of the data files on the server (.fic, .ndx, .ftx, .sdx and .mmo files, if any) must not contain accented characters.
  • On a LINUX server, the name of the data files must be written in lowercase characters.
Component: wd300hf.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 03/08/2024

Send a report | Local help