2009-08-14 10 views
1

以下は、メインフレーム上のファイルDSNにbytearrayをアップロードするコードです。それはとてもうまくいく。私がしたいことは、jclをアップロードしてから実行しなければなりません。それは私が立ち往生している部分です。 、私はWININETを通じてそれを行うことができるために使用されるが、私はそれから離れて取得し、あなたがアップロードしたファイルは、JCLジョブとして扱われることをしたい場合はvb.netvb.net 2008内のFTPを使用してメインフレーム上のjclストリームを "キックスタート"するには

Public Shared Sub UploadToMainFrame(_ 
    ByVal ftpHost As String, _ 
    ByVal ftpMainframeDSN As String, _ 
    ByVal UserName As String, _ 
    ByVal Password As String, _ 
    ByVal DataToUpload As String) 

    Dim ftpRequest As FtpWebRequest 
    Dim ftpFullMainframePath = String.Format("ftp://{2}//'{3}'", ftpHost, ftpMainframeDSN) 

    ftpRequest = WebRequest.Create(ftpFullMainframePath) 
    ftpRequest.Credentials = New NetworkCredential(UserName, Password) 
    ftpRequest.KeepAlive = True 
    ftpRequest.UseBinary = False 
    ftpRequest.Method = WebRequestMethods.Ftp.UploadFile 

    ftpRequest. 

    Dim byteArray() As Byte = StrToByteArray(DataToUpload) 

    ftpRequest.ContentLength = byteArray.Length 

    Dim ftpStream As Stream = ftpRequest.GetRequestStream() 
    ftpStream.Write(byteArray, 0, byteArray.Length) 
    ftpStream.Close() 
    ftpStream = Nothing 
    ftpRequest = Nothing 

End Sub 
+0

string.format行が正しく表示されない - 3番目と4番目のパラメータ({2}/{3})を参照していますが、2つしか指定されていません... –

答えて

2

に優れたFTPコマンドを使用します次のように入力するだけです。

quote site filetype=jes 

をFTPコマンドに入力するだけです。

これにより、JESは受信データセットをJCLとして扱い、自動的に送信するように指示します。

あなたはVBで私のドメイン内ではなく、次はCMD.EXEから正常に動作することを達成する方法

:含むbigiron.ftp

ftp -n bigiron.com -s:bigiron.ftp 

user MYNAME MYPASSWORD 
quote site filetype=jes 
quote site jeslrecl=80 
put commands.jcl 
bye 

をした場合、何らかの理由で、あなたはVB内からこれを行うことはできません。私の次は、特定のデータセットを監視し、そこに現れた新しいメンバーを投稿したz/OSの下で起動したタスクを実行することです。日付データセット(例えば、「DATA.MYJOB」)に

  • クライアントのアップロードメンバー:

    は、私はあなたが半アップロードジョブを送信しようとしていないことを保証するためにセンチネルメソッドを使用すると思います。

  • クライアントは、ダミーメンバーをセンチネルデータセット(「SENTINEL.MYJOB」など)にアップロードします。
  • 開始タスクは、継続的にセンチネルデータセット内の新しいメンバーを探します。
  • が見つかると、同等のデータメンバーをJESに提出し、センチネルメンバーとデータメンバーの両方を削除します。

sysprogsが(パスワードにもかかわらず)これらの外部マシンのJESへの直接アクセスを許可していないときは、この方法を実際に使用しました。

アップデートは、検索のビットの後:

それは"quote site"解決のために良い見ていません。 This post(ただし、2009年も更新されています)は、コードの内部動作を公開するため、"quote site"が実装されることをMSは認めません。私はその議論の妥当性についてコメントしておらず、彼らの推論は変更されているかもしれませんが、現在の文書ではこの機能を追加したことがわかりません。

だから、あなたは外部のFTPソリューションに悩まされていると思います。

関連する問題