TechTip: Mapping a Network Drive from the IBM i

Networking
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

I showed you how to map drives to the IBM i; now I'll show you how to map drives from the IBM i.

 

In my previous TechTip, I discussed the benefits and capabilities of mapping a network drive to the IBM i. In this TechTip, I will discuss the opposite perspective: how the IBM i can access external resources by mapping a drive from the IBM i.

 

The iSeries is known for its stability of business applications, but it can also provide all the modern capabilities that are expected from your users by integrating with external systems that run on Windows, Linux/UNIX, and the Mac. You can take advantage of the resources that these external systems provide by accessing their file systems and retrieving the data for use on the iSeries. Just map a network drive from the iSeries to the external systems!

 

This is done quite easily using the IFS QNTC folder. Starting in V4R3, the QNTC was created to support the Windows NT file system in the IFS. As of V4R5, you could also store the NTFS attributes of the Windows files. The QNTC allows the iSeries to act like a Server Message Block (SMB) client on the network.

Mapping the Network Drive to a Static IP Address

To map a network drive from the iSeries to a Windows computer that has a share on it, use the MKDIR command to make a directory on the IFS that starts with the /QNTC folder, followed by the Windows address of the share on the network. On the simplest level, you could map the drive to the IP address of the Windows server. So, if the IP address of the Windows computer is 10.10.10.1, then you would execute this command:

 

MKDIR /QNTC/10.10.10.1

 

It's not good practice to use IP addresses, so I recommend that you put an entry in the HOSTS table on the iSeries by using the CFGTCP command and taking option 10, Work with TCP/IP host table entries. By doing this, you can implement references to the network drive using the host table name, and if the IP address ever changes, you only need to change the host table entry.

 

You should have static IP addresses assigned to the computers that will be the destination of the network drive. If you are using dynamically assigned IP addresses from DHCP, then the IP address of the Windows computer may change and the network drive will not be able to be established.

Mapping the Network Drive to a Named Host

If you create a table entry for 10.10.10.1 and name it WINDOWSBOX01, then your command to map the network drive would be this:

 

MKDIR /QNTC/WINDOWSBOX01

 

When you attempt to use the network drive, you must have permission to access the Windows server. The authentication is done using the iSeries user name and password, so you need to make sure that the user exists on the Windows server and that the password is the same as the iSeries user profile.

Re-Mapping the Network Drives After an IPL

When you IPL the iSeries, you will lose any network drives that were mapped using the MKDIR command. It's like if you were to map a network drive on your Windows PC and you did not select to reconnect after you reboot. To overcome this issue, I would create a CL program that contains all of the commands to reconnect your network drives. This will provide you with a single point of maintenance for all of your network drives.

 

Here's an example of what your CL code might look like:

 

              PGM

              DCL        VAR(&MSG) TYPE(*CHAR) LEN(300)       

              /*************************************************/

              /* MAP A NETWORK DRIVE USING THE IP ADDRESS */    

              /*************************************************/ 

              MKDIR      DIR('/QNTC/10.10.10.1') 

              MONMSG     MSGID(CPF0000)

              /*************************************************/

              /* MAP A NETWORK DRIVE USING THE HOST NAME */

              /* HOST ENTRY WINDOWSBOX02 = 10.10.10.2              */

              /*************************************************/

              MKDIR      DIR('/QNTC/WINDOWSBOX02')

              MONMSG     MSGID(CPF0000)  

              /************************************************/

              CHGVAR     VAR(&MSG) + 

            VALUE('************************************+  

                       **************************************  +

                       NETWORK DRIVES WERE + 

                       RE-MAPPED FROM THE ISERIES +

                       *******************************************+

                       ****************************')

             SNDMSG     MSG(&MSG) TOUSR(QSYSOPR)

       END:      ENDPGM

 

Once you've created your CL to remap all of the network drives, I recommend that you modify the STARTUP application so that it will always reconnect your network drives after an IPL.

 

Now that you have your network drive mapped from the iSeries to a Windows computer, you can navigate through the directory structure of the Windows computer using the WRKLNK command on the iSeries by going into the QNTC directory. You'll see all of the network drives that you have mapped. You can go into the directories and do everything that you can do in the IFS, if you are authorized to it.

Mapping Network Drives to Linux and Mac

I discussed mapping a drive from the iSeries to a Windows computer, but you can also do this with any file shares that support SMB. Samba is a common way to do this on a Linux or Mac system.

 

In my next TechTip, I'll provide code samples on managing and organizing your files on the IFS and making use of network drives through RPG ILE.

BLOG COMMENTS POWERED BY DISQUS