File transfer protocol mode

You can generate a transfer package using the File Transfer Protocol (ftp) mode. DCM sends the transfer package from the generate_directory to the transfer path of the remote destination database. The transfer package is sent using an ftp command. The Rational® Synergy engine that generates the transfer package performs the copy.

User-Supplied Options: Host Name, OS, and Path

Use the File Transfer Protocol mode when the engine of the source database cannot access the file system of the destination database. The File Transfer Protocol mode permits non-authenticated users to transfer data to a specific directory at a secure facility using an anonymous login. This mode also lets authenticated users transfer data using their own login IDs.

DCM uses the Host Name field for the name of the ftp server. An ftp service must be running on the destination machine.

Note: For ftp transfers from an Windows engine, Microsoft provides the BackOffice internet suite for Windows 2000 Server. Third-party servers are also available. For more information, consult the documentation for your service.

DCM uses the OS field for internal purposes only.

DCM uses the transfer path to specify the path to the ftp directory. If a blank value is used for the transfer path, then the default path to the destination database receive_directory is assumed.

Note: Do not initiate an ftp transfer from a Windows client connected to a UNIX server; this operation causes the transfer to fail. The failure occurs because the client cannot see the DCM transfer package located on the server file system.

Some sites have security restrictions. In these cases, it is possible that you can send data to a staging area only. Specify this staging area as the receive_directory.

Note: Manually try the ftp commands before using them with DCM.

FTP from a UNIX Engine

When you start an ftp transfer from a UNIX machine, the engine or the client process must be able to log in to the destination machine without your intervention. You must supply the host name, user name, and password login arguments to the ftp command. Enter the login arguments in the .netrc file on the source machine.

For example, the .netrc file entries supply the login arguments for an anonymous transfer to the ESX ftp server:

      machine ftp.ESX.com
      login anonymous
      password dcm_transfer

To enhance security, you can enter other login and password combinations in the .netrc file.

DCM first tries to perform the transfer from the engine using the .netrc file in the home directory of ccm_root. If the transfer from the engine fails, DCM attempts a transfer from the client using the .netrc file that is in the home directory of the person who is performing the transfer.

For a UNIX engine ftp transfer, these ftp commands are executed using the Korn shell (ksh -c):

      ftp @host < @infile

where @infile is replaced by a temporary constructed command file and @host is replaced by the Host Name field value.

The command file is constructed by first taking the contents of either:

These commands are added:

      put <data_file> <data_file>
      put <preview_file> <preview_file>
      put <info_file> <info_file>
      get <info_file> <temp_file>
      quit

The last get command is performed so that DCM can compare the DCM information file with the file retrieved from the remote machine. This comparison is done because many ftp implementations return a zero success exit status code even if the transfer failed or the connection was not successfully established.

Note: Some UNIX ftp servers do not support the "#" character used in transfer package file names. Therefore, DCM automatically converts these characters to "@" for UNIX-to-UNIX ftp transfers. The receive operation can handle transfer package file names of either format. Also, the .netrc file must be rwx------ (that is, read/write/execute only by the owner).

FTP from a Windows engine

When you start an ftp transfer from a Windows machine, the engine or the client process must be able to log on to the destination machine without your intervention. A built-in Windows ftp command supports the unattended ftp transfer.

The built-in command is:

      ftp -n -s:@infile @host

where @infile is replaced by a temporary constructed command file and @host is replaced by the Host Name field value.

You can use a different ftp command by entering a line like this line in the [Options] section of the server ccm.ini file:

      DCM_NT_FTP_CMD=your_command

The command file is constructed by first taking the contents of either:

These commands are added to the contents of the file:

      put <data_file> <data_file>
      put <preview_file> <preview_file>
      put <info_file> <info_file>
      get <info_file> <temp_file>
      quit

The last get command is performed so that DCM can compare the DCM information file with the file retrieved from the remote machine. This comparison occurs because many FTP implementations return a zero success exit status code even if the transfer failed or the connection was unsuccessfully established.

Note: Some UNIX ftp servers do not support the "#" character used in DCM transfer package file names. Therefore, DCM automatically converts these characters to "@" for Windows-to-UNIX ftp transfers. The receive operation supports transfer package file names in either format.

Feedback