共有フォルダ化したはずのIFSディレクトリーが見つからない
Question
弊社では、ネットサーバーを用いたファイル共有を利用しています。
新たにアプリケーションでの利用にあたり、既存の共有設定の見直しと作成をすることになりました。
まずは共有設定を見直すために、コマンドラインでWRKLNKコマンドを実行しましたが、Windowsで見たときのフォルダ名がIFS領域に見つからない気がします。
どのディレクトリーが共有化されているか調べる方法はありますか。
アプリケーションを作ったベンダーに確認し、解析してもらうしかないでしょうか。
このような状況で、よくあるパターンとしてはどんな原因が考えられますか。
Answer
IBM i Access Client Solutions(ACS)でのファイル共有の設定は以前ご紹介させていただいております。
下記リンクの記事を参考にしていただくといいでしょう。
https://www.e-bellnet.com/category/technology/1905/1905-971.html
また、GO NETSメニューにて、エミュレーターで確認することも可能です。(ただしメニューは英語表記になります)
https://www.e-bellnet.com/category/technology/2112/2112-01.html
Windowsではフォルダが見えているのにIFS領域にパッと見では見つからないカラクリをご説明いたします。
よくあるパターンについて、例として下図のような環境を用意しました。
実は"共有フォルダ名(Windowsで表示させる名前)"とIFSディレクトリーのパス名は別の名前を指定できます。
上のNavigator for iの画面上では、共有フォルダ名がDirtest、IFSディレクトリー名が/TEST_DIR/DIR1となっていますね。
見たとおり、Windows上でDirtestと表示されるフォルダが実際につながっている先(パス)は、IFS領域上の/TEST_DIR/DIR1である事がわかります。
また、オブジェクトパス名を指定せずにWRKLNKコマンドを実行すると、カレントディレクトリーが表示されます。
カレントディレクトリーはセッション内でCD ディレクトリー名を指定しない限り、ユーザープロファイルに指定されたホームディレクトリーの値を参照し開きます。
先程のパスはルートディレクトリー配下のディレクトリーからパスが始まっていましたから、確認にQSECOFRプロファイルを利用していたとすると/home/QSECOFR配下には存在しないのでパッと見では見つからない。ということになるかもしれません。
その場合はコマンド WRKLNK OBJ(/) を実行し、ルート直下から追いかけるのがいいかと思います。
by 大熊猫橋