IBM Support

NetServer Copy From and Then To Source .MBR Fails with 'Access Is Denied'

Troubleshooting


Problem

This document explains why, after copying a source physical file member to a PC client using NetServer, the copy back to the server fails.

Resolving The Problem

Problem:
A NetServer mapped drive is used to browse the QSYS.LIB file system; specifically source physical files in a user data library. Selecting source members and transferring these to the PC client works without error. When the end user attempts to copy these members back to the IBM System i system; however, an Access is Denied error message is issued. This copy failure also results in the original member being removed/cleared from the source physical file.

Cause:
This problem is caused by an application failure (in this case, the application is Microsoft® Windows® Explorer; however, other applications could also fail in the same way). Complex conversion is being used in the transfer of the EBCDIC Mixed SBCS CCSID to the client side code page. The help text for Conversion options on the NetServer share properties states the following:

Select this to use simple and complex conversion. Simple conversion converts from one coded character set ID (CCSID) to another with characters of the same width. For example, ASCII-to-EBCDIC or Unicode to another double-byte CCSID. Complex conversion converts from one CCSID to another CCSID with different character widths or where one of the CCSIDs has mixed-width characters.

The issue is that complex conversion is being used in these problem cases. When the file is opened using NetServer, the i reports the size back to the PC as length-of-file minus carriage-control bytes. The PC creates a file of this size. Then, the PC client reads the file from the server and, because of complex text conversion and mixed SBCS source data, the data read is less than the initial reported length of file. Windows Explorer is not properly truncating the file back to the actual size of the data read, and this difference in length results in a number of unformatted bytes at the end of the file containing whatever was there when the space was originally allocated.

In the cases seen to date, the extra bytes were blank lines. Normally this would not be a problem. However, when transferring data back to a source physical file member, row length is restricted and these blank lines were longer than the maximum allowable. The member being replaced is removed from the source physical file, and a copy of the data from the PC client is started. Once the problem rows at the end of the file are encountered, the error message is issued to the Windows user and the copy fails. Because the source physical file member has been removed in preparation for the copy, this failure also results in the loss of the original member on the iSeries.

Work-around:
Because this is a problem with the client application rather than the iSeries NetServer, IBM cannot change NetServer to resolve it. A work-around is to remove the extra lines or other data from the end of the PC text file and retry the transfer to the System i system.

[{"Type":"MASTER","Line of Business":{"code":"LOB57","label":"Power"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SWG60","label":"IBM i"},"Platform":[{"code":"PF012","label":"IBM i"}],"Version":"6.1.0"}]

Historical Number

387814397

Document Information

Modified date:
18 December 2019

UID

nas8N1015411