Skip to Content

目的:
このページの目的は、mlfiletransfer ユーティリティの使用方法を説明することです。リモート・データベースの集中管理機能の一部である、Mobile Link Agent を使用するファイル転送の代替方法についても説明します。

概要:
Mobile Link 経由でファイルをアップロードまたは、ダウンロードするには、Mobile Link ファイル転送ユーティリティ(mlfiletransfer)を使用します。 リモート・デバイスを初めて作成するときや、リモート・デバイスでソフトウェアのアップグレードが必要なときに非常に便利です。

Mobile Link ファイル転送ユーティリティの使用
Mobile Link サーバの設定
mltransfer ユーティリティを使用するには、転送するファイルのルート・ディレクトリを指定するオプションを設定して Mobile Link サーバを構成する必要があります。

ユーティリティを使用してファイルをダウンロードする場合は、Mobile Link サーバを -ftr オプションで起動する必要があります。 このユーティリティを使用してファイルをアップロードする場合は、Mobile Link サーバを- ftru オプションで起動する必要があります。 Mobile Link サーバは、これらのオプションのいずれかを指定するか、または両方のオプションを指定して起動することができます。

-ftr mlsrv16 オプション
このオプションは、ルート・ディレクトリを設定することにより、mlfiletransfer ユーティリティによってダウンロードされるファイルの場所を指定します。 ルート・ディレクトリ内で、ダウンロードされるファイルをルート・ディレクトリまたは、特定のクライアントのユーザ名のサブディレクトリ内に直接配置することができます。
Mobile Link は、最初にクライアント・ユーザ名と一致するサブディレクトリ内を検索し、ファイルが見つからない場合は、メイン・ルート・ディレクトリでファイルを検索します。
この動作は、ルート・ディレクトリ内にカスタム・サブディレクトリまたは、カスタム・ファイル名を実装する authenticate_file_transfer 接続イベントを使用して上書きすることができます。
この接続イベントの詳細については、関連ドキュメントを参照してください。

mlsrv16 -c “connection-string” -ftr “path”

-ftru mlsrv16 オプション
このオプションは、ルートディレクトリを設定することによって、mlfiletrasfer ユーティリティでアップロードされるファイルの場所を指定します。ルート・ディレクトリ内でアップロードされるファイルを直接配置するかまたは、その直下のサブディレクトリ内にのみ配置するこができます。
これらのサブディレクトリは、ユーティリティによってファイルがアップロード元のリモート・ユーザのユーザ名で自動作成されます。
この動作は、ルート・ディレクトリ内にカスタム・サブディレクトリまたは、カスタム・ファイル名を実装する authenticate_file_upload 接続イベントを使用して上書きすることができます。
この接続イベントの詳細については、関連ドキュメントを参照してください。

mlsrv16 -c “connection-string” -ftru “path”

-ftr および、-ftru オプションで指定されたディレクトリは、Mobile Link サーバを起動する前に作成されている必要があります。 指定したディレクトリが存在しない場合は、次のエラーが表示されます。


mlfiletransfer ユーティリティの使用

mlfiletransfer ユーティリティは、リモート・デバイスのコンソールから直接操作します。 基本的な構文は次のフォーマットに従います。

mlfiletransfer [options] file

ユーティリティの標準的な機能を動作させるには、3つのオプションが必要です。 必要なオプションは次のとおりです。

オプション  説明
 -u username Mobile Link ユーザ名。このオプションは必須です。 通常、パスワードは指定されたユーザ名にも指定する必要があります。これは、-p オプションを使用して、後にパスワードを指定できます。 ただし、パスワードは必須ではありません。
 -v username スクリプト・バージョン。 このオプションは必須です。 スクリプト・バージョンが不明な場合は、統合データベースの ml_script_version テーブルを確認してください。
 -x protocol
(options)
protocol は、tcpip、tls、http または、https のいずれかになります。 このオプションも必要です。 各プロトコルオプションのリストは、ここをクリックしてください。

Mobile Link にファイルをアップロードするには、-s オプションを使用します。 ダウンロード・プションはデフォルト設定であり、オプションを追加する必要はありません。 mlfiletransfer のオプションを指定したら、ダウンロード/アップロードするファイルの名前を指定します。 mlfiletransfer ユーティリティの全てのオプションリストは、関連ドキュメントを参照してください。


リモート・デバイスへのファイルのダウンロード
1.testfile.txt というテキスト・ファイルを作成し、手順2で -ftr オプションを使用して指定するルート・ディレクトリ内にダウンロードして配置します。
2.Mobile Link サーバを起動するときに -ftr オプションを使用して、ルート・ディレクトリを指定します。

mlsrv16 -c “DSN=cons_sqla16” -ftr “c:\filesynch\download”

3.リモートデバイスで、上記で指定された適切なオプションを使用して mlfiletransfer ユーティリティを起動します。(ユーザは、パスワード(-p)、スクリプトバージョン(-v)を必要とし、-g オプションを使用して転送の進行状況を監視することができます)

mlfiletransfer -g -u “rem1” -p “sql” -v “v1” -x tcpip testfile.txt

4.ユーティリティは、Mobile Link サーバの -ftr オプションで指定されたルート・ディレクトリ内でモート・ユーザ名と一致する rem1 という名前のサブディレクトリを探し、ファイルをリモート・デバイスにダウンロードします。


リモート・デバイスからのファイルのアップロード
1.testfile.txt というテキスト・ファイルを作成し、手順2で -ftru オプションを使用して指定するルート・ディレクトリ内にアップロードして配置します。
2.Mobile Link サーバを起動するときに -ftru オプションを使用して、アップロード・ディレクトリを指定します。

mlsrv16 -c “DSN=cons_sqla16” -ftr “c:\filesynch\upload”

3.リモートデバイスで、上記で指定された適切なオプションを使用して mlfiletransfer ユーティリティを起動します。アップロードには、-s オプションを使用する必要があります。

mlfiletransfer -s -g -u “rem1” -p “sql” -v “v1” -x tcpip testfile.txt

4.ユーティリティは、リモートでファイルを検索し、Mobile Link サーバの -ftru オプションで指定されたディレクトリ内でモート・ユーザ名と一致する rem1 という名前のサブディレクトリにアップロードします。

既存のファイルのダウンロードまたはアップロード
すでに存在するファイルをアップロードまたは、ダウンロードする場合、そのファイルの最新バージョンによって上書きされ、この時、メッセージは表示されれず、上記のようにファイル転送が正常に進行します。

前回のアップロードまたは、ダウンロード後にファイルが変更されていない場合は、次のメッセージが表示されます。

Mobile Link Agent の使用
Mobile Link Agent は、mlfiletransfer ユーティリティの代わりに使用できます。Mobile Link Agent は、リモート・データベースのライフサイクル全体を集中管理する手段を提供するリモート・データベースの新しい集中管理機能の一部として使用されます。
これにはファイルのアップロードとダウンロードが含まれますが、この機能が提供する一部です。リモート・データベースの集中管理機能のその他の用途は次のとおりです。

・データベースの初期化
・スキーマのアップグレード
・同期回数
・問題の診断とトラブルシューティング
・SQL の実行
・プログラムの実行
・ファイルのコピー、作成、削除
・データベースの削除

リモート・データベースの集中管理機能に関する詳細は、関連ドキュメントを参照してください。

この項では、Mobile Link Agent を使用してファイルを転送する基本的な方法の概要を説明します。 集中管理についてはあまり詳細に説明しません。これらの集中管理に関するトピックの一般的な知識があることを前提としています。

Mobile Link サーバの設定
Mobile Link サーバは、mlfiletransfer ユーティリティを使用する場合と同様の方法で構成されます。
リモート・タスクの一環としてダウンロードを実行するときにファイルの検索場所がわかるようにまた、アップロードを実行するときにファイルをアップロードする場所を Mobile Link Agent が認識できるように、-ftr および、-ftru オプションを指定する必要があります。

Mobile Link Agent の設定
Mobile Link Agent は、リモート・デバイス上のリモート・タスクを管理します。
統合データベースから実行するタスクを同期し、リモート・デバイスでエージェント・データベースに格納します。
統合データベース、Mobile Link サーバ、エージェント・データベース、Mobile Link Agent および、リモート・データベース間の通信の概要については、関連ドキュメントを参照してください。

エージェントは、mlagent コマンドを使用してリモートから起動します。 最初に -c オプション(エージェントを起動し、構成してからシャットダウンする)と構成が必要な特定のオプションを使用して、エージェントを設定します。その後、再度、エージェントを起動する必要があります。mlagent オプションの詳細なリストについては、関連ドキュメントを参照してください。

mlagent の設定

mlagent -c -a AID_rem1 -x tcpip{host=localhost;port=xxxx}

mlagent の実行

mlagent -u rem1 -p rem1 -o file.txt

上記のコマンドライン・オプションの概要を以下に示します。

オプション  説明
 -c エージェントを構成モードで実行します。
 -a agented エージェントの ID を指定します。
 -x protocol
(options)
Mobile Link のストリーム・パラメータを指定します。 protocol には、tcpip、tls、http、https のいずれか 1 つを指定します。このオプションは必須です。各プロトコルのオプションのリストについては、ここをクリックしてください。
 -u user エージェント・データベースの同期に使用する Mobile Link ユーザ名を指定します。
 -p password エージェント・データベースの同期に使用する Mobile Link パスワードを指定します。
 -o file 出力ログ・ファイルを指定します。


ダウンロード・リモート・タスクの作成

Sybase Central の Mobile Link 16 プラグインの Mobile Link プロジェクトの下で、[リモートタスク]を右クリックし、[新規] > [リモートタスク]を選択します。

[リモートタスク作成] ウィザードが表示されます。ウィザードの指示に従い、以下の項目を指定します。

・リモート・タスク名
・エージェントが受信したタスクをトリガする
・その他の設定はオプション

Download file をタスクのコマンド・タイプとして設定します。サーバ・ファイル名は、-ftr オプションで Mobile Link サーバを起動したときに指定したルート・ディレクトリ内に配置されたリモート・デバイスにダウンロードするサーバ上のファイル名を指定します。
サーバ・ファイル名には、単一のサブディレクトリ(subdir¥testfile.txt)を指定するか、変数({ml_username}¥testfile.txt)を使用することもできます。リモート・ファイル名は、ファイルが格納されるリモート・デバイス上の場所を指定します。

この情報を入力したら、タスクを右クリックして[展開]をクリックします。

[リモートタスク展開] ウィザードが表示されます。ウィザードの指示に従い、以下の項目を指定します。

・統合データベース
・このリモート・タスクを受け取るエージェント
・タスクをエージェントに送るタイミング
・タスクの結果およびステータスのレポート方法対応するエージェントが次回この統合データベースと同期しようとすると、このタスクがエージェント・データベースに同期され、タスクの作成時に指定した特定のオプションに応じてタスクが実行されます。

リモート・デバイスからファイルをアップロードするには、タスクのコマンド・タイプとして Upload file を設定するのと同じ手順に従います。
アップロード・タスクのサーバ・ファイル名のフィールドで変数を使用すると、複数のリモートが同じタスクを利用してファイルをそれぞれのディレクトリにアップロードできるため、非常に便利です。ディレクトリがハード・コードされていた場合、新しいリモートがタスクを実行するたびにファイルが上書きされます。

 

まとめ
両方のファイル転送方法は、Mobile Link を介したファイルのアップロードとダウンロードに関して同じ結果が得られますが、ユーザにもたらされる可能性はまったく異なります。

Mobile Link Agent を使用すると、リモート・タスクは1つ作成するだけで統合データベースから多数のリモート・デバイスにファイルを配備できます。 リモートデバイスへの直接アクセスは必要ありません。
mlfiletransfer ユーティリティを使用するには、リモート・コンソールへの特定のアクセス権が必要で、各mlfiletransfer コマンドをリモートで個別に実行する必要があるため、一度に1台のリモート・デバイスでファイルをアップロードまたは、ダウンロードすることができるだけです。
設定に関しては、Mobile Link Agent は、リモート・タスクを適切に実行するために、より詳細な実装を完了する必要があり、リモート・エージェントとリモート・スキーマ名の適切な設定することが重要です。 mlfiletransfer ユーティリティを使用すると、設定を大幅に追加することなくファイルを簡単に転送できます。
結局のところ、少数のリモート・デバイスへの単純なファイル転送だけの場合、おそらく mlfiletransfer ユーティリティが最適なオプションです。
しかし、リモート管理の範囲が広がり、リモート・デバイスへの直接アクセスが不可能な場合、リモート・データベースの集中管理機能は、大きな多数の他の可能性と共に解決策を提供することができます。

関連コンテンツ
関連ドキュメント

Mobile Link チュートリアル
Mobile Link ファイル転送ユーティリティ
authenticate_file_transfer 接続イベント
authenticate_file_upload 接続イベント
Mobile Link クライアントネットワークプロトコルオプション
リモートデータベースの集中管理
Mobile Link エージェント
mlagent コマンド

WIKI: Centralizing Your Remotes for Synchronization

このページは、以下の英語ページの抄訳です。
To report this post you need to login first.

Be the first to leave a comment

You must be Logged on to comment or reply to a post.

Leave a Reply