[comp.os.vms] Can't access big records via DECnet

sandrock@uxc.cso.uiuc.edu (02/10/88)

     It seems that if I access a data file with records larger than 4096
   bytes from a FORTRAN program via DECnet (i.e. FAL) that the RMS error
   "Record too large for user's buffer" is returned. This only happens
   when the access is via DECnet; local access of course works fine.
     I tried increasing various quotas for the DECnet proxy account (i.e.
   my own account in this case), but still no difference.
     The DECnet manuals shed no light on this limitation that I have
   been able to find, so I am appealing to any VMS whizzes on the net
   for the answer.
     Please email directly, and I will summarize to the net if appropriate.

     Regards,

         Mark Sandrock

Internet: sandrock@uxc.cso.uiuc.edu
Bitnet:   sandrock@uiucscs
Phone:    217-244-0560

mitch@batcomputer.tn.cornell.edu (Mitch Collinsworth) (02/13/88)

In article <195600003@uxc.cso.uiuc.edu> sandrock@uxc.cso.uiuc.edu writes:
     It seems that if I access a data file with records larger than 4096
   bytes from a FORTRAN program via DECnet (i.e. FAL) that the RMS error
   "Record too large for user's buffer" is returned. This only happens
   when the access is via DECnet; local access of course works fine.
     I tried increasing various quotas for the DECnet proxy account (i.e.
   my own account in this case), but still no difference.
     The DECnet manuals shed no light on this limitation that I have
   been able to find, so I am appealing to any VMS whizzes on the net
   for the answer.
     Please email directly, and I will summarize to the net if appropriate.

Please post if you have any information concerning this.  I am experiencing
the same trouble.

-Mitch Collinsworth
 mitch@tcgould.tn.cornell.edu

sandrock@uxc.cso.uiuc.edu (02/17/88)

     The solution it turns out is trivial. The dynamic SYSGEN parameter
   RMS_DFNBC (Default Network Block Count) places an upper limit on the
   recordsize that can be transfered over DECnet. The default value on
   VMS systems here seems to be 8 blocks, giving a max recordsize of
   4096 bytes.
      This value can be set on either a system-wide or process-wide basis
   by means of the DCL command: SET RMS_DEFAULT /NETWORK=nn [/SYSTEM].
   In our case, we had 16,300 byte records in a database, and therefore
   I added the command to our startup, with nn=32 and all is well.

      Regards,

      Mark Sandrock

LEICHTER@VENUS.YCC.YALE.EDU ("Jerry Leichter ", LEICHTER-JERRY@CS.YALE.EDU) (02/20/88)

	In article <195600003@uxc.cso.uiuc.edu> sandrock@uxc.cso.uiuc.edu
	writes:
	   It seems that if I access a data file with records larger than 4096
	   bytes from a FORTRAN program via DECnet (i.e. FAL) that the RMS
	   error "Record too large for user's buffer" is returned. This only
	   happens when the access is via DECnet; local access of course works
	   fine....

	Please post if you have any information concerning this.  I am
	experiencing the same trouble.

RTFM (but see below)!  From the RMS Reference Manual, Section 5.22 (documenta-
tion of the FAB$W_MRS - Maximum Record Size - field):

	For DECnet remote file access, the maximum record size is set by
	using the /NETWORK_BLOCK_COUNT=n qualifier to the SET RMS_DEFAULT
	command.  DECnet remote file access can have record sizes as large
	as RMS supports.  [N.B., this discussion appears after a table of
	maximum record sizes for different file organizations and record
	formats.]  The default number of blocks is equal to the SYSGEN
	parameter RMS_DFNBC, the default for which is 8 blocks (4096
	bytes)....

I'll admit I started off looking in the wrong manual - the Guide To Network-
ing.  It pointed me to the Guide To File Applications, which then pointed me
rather quickly to where, in hindsight, I should clearly have looked to begin
with.
							-- Jerry