Expを介してデータにアクセスするための極端な.ネット


以前の記事242479152の一部の読者は、あなたが同じ仕事をしている同じインスタンスからだけでなく、同じコンピュータ上の別のインスタンスから、または同じローカルネットワーク内の別のコンピュータにあるインスタンスから情報にアクセスできるかどうか疑問に思いました.いくつかは、エンタープライズキャッシュプロトコル(ECP)を使用することが可能であることを正確に述べました.この記事ではどのように行うことができるかを示すつもりです.
最後に聞いた、極端な.NETはまだメモリの接続を使用していて、IRISインスタンスと同じプロセスで実行されますが、少なくともCaché eXTreme for .NET - direct access to globals from C#はメモリからTCP/IPに移動する可能性を示唆しています.
しかし、他のコンピュータのインスタンスに接続するためにTCP/IPを使用できなくても、ローカルのデータベースのインスタンスをローカルネットワーク内の別のコンピュータの別のインスタンスに接続し、ローカルデータベースのようにこのリモートデータベースで動作させることもできます.ecpは,サーバシステムの異種ネットワーク間のデータとロックの分布を管理する分散データキャッシングアーキテクチャである.この記事では、このアーキテクチャを利用してデータを別のインスタンスに格納します.
一般的なアイディアは、アイリスの1つのインスタンスでデータをデータベース化したもので、これが私のデータサーバになります.このインスタンスをIRISと呼びます.また、私は私の極端なアプリケーションから接続する別のインスタンスを必要とし、これは私のアプリケーションサーバーになります.この例をいらっしゃいません.この場合、両方のインスタンスは同じコンピュータ上にあります.(私の場合は64ビットのコンピュータしか持っていません.しかし、これは結果を変えません-私はまだもう一方からのデータベースにアクセスするために2つの異なる例をつなぐ必要があります.
しかし、Visual Studioで何かを行う前に、IRIインスタンスの両方にECPを設定する必要があります.
最初に、我々はデータ(IRIS)とアプリケーション(IRIST)サーバーの両方でECPサービスを可能にします.これを行うには、Management Portal > System Administration > Security > Servicesに移動します.サービスの一覧で、% serviceを選択します.以下に示すように、ECPとEdit Serviceページで、サービスを有効にしたチェックボックスをクリックします.ボタンをクリックするのを忘れないでください.
one comment
次に、デフォルトの1から許可されたアプリケーションサーバーの数をインクリメントし、データサーバーを設定します.もう一度、管理ポータルに「システム管理」Configuration>Connection>ECP設定を行ってください、そして、右側の区画で、「このシステムは、ECPデータサーバとして」、「アプリケーションサーバーの最大数」を2(または、あなたがすでに使用しているものより1つ)に変えてください.次に、Saveをクリックし、変更のインスタンスを再起動します.

私は怠惰です、そして、これがちょうど例であるので、私はユーザーデータベースを使います、しかし、あなたは新しいものをつくることができるか、あなたが手に持っているどんなデータベース(それが読めなくなるかどうか心配しない)を使用することができます.
次に、アプリケーションサーバーを設定します.最初のステップは、アプリケーションサーバーをデータサーバーに接続することです.管理ポータルに行きます.

「サーバーを追加」ボタンをクリックし、データサーバーに関する情報を入力します.私の場合、私はデータサーバを設定していたとき、RadioGroup「ECP SSL/TLSサポート」から有効または要求されたオプションを選択しなかった.

別のコンピュータを使用している場合は、サーバー名フィールドにその名前またはIPアドレスを指定する必要があります.

「保存」をクリックし、ECPデータサーバーの一覧に新しいエントリが表示されます.私の場合、ステータスは正常です.そして、それは接続がそうするべきであるということを意味します.ドキュメントではで詳細を読むことができます.
ECP Connection States
(ローカルな)ネットワーク上の別のコンピュータにインスタンスを接続しているなら、あなたのポート(私の場合は51773 )が開いていることを確認する必要があります.ファイアウォール、アンチウイルスなどの設定を確認してください.
一旦リンクが確立されるならば、我々は我々のローカルデータベース(IRIST)に我々の遠いデータベース(Irisからのユーザー)を写像する必要があります.これを行うには、新しいデータベースを作成する必要がありますので、管理ポータルに「システム管理」「設定」「システム構成」「名前空間」に移動し、「新規名前空間を作成」ボタンをクリックします.名前空間に名前を付けて、オプションの「リモートデータベース」を選択します.

これでリモートデータベースを作成する必要があります.これを行うには、「新規データベース作成」ボタンをクリックします.ドロップダウンリストから前の手順で作成したリモートサーバーを選択します.

次に、そのインスタンスのディレクトリを選択します.

と新しいデータベース名を思い付く.

をクリックして、ルーチンの同じデータベースを選択することを忘れないでください.「相互運用性プロダクションの名前空間を有効にする」チェックボックスをクリアし、ページの上部にあるSaveをクリックし、すべてを設定します.
Cからのグローバルな作業を始める前に、すべてが動作していることを確認し、別のインスタンスに格納されているデータにアクセスできます.これを行うには、たとえば、アプリケーションサーバー(IRIST)のターミナルを開き、現在の名前空間を作成したものに切り替え、いくつかのグローバル値を設定できます.

そして、データサーバの端末でこの値を読むことができます.

私たちは正しい値を取得します.これはC Countでテストアプリケーションを進め、アプリケーションサーバーへのメモリ接続をしながらデータサーバーに格納されているデータを操作するための極端な技術を使用することを意味します.
まず、私はそれがすべての仕事をする必要がある調整について思い出させてください.起動するには、Windows用の環境変数を設定する必要があります.
  • GlobalsRain HOMEはDBMSを置くディレクトリへのフルパスを含んでいます.私の場合、これはC :\Intersystem\iristです.
  • パスは、binディレクトリへのフルパスを含む必要があります.私の場合、これはC :\Intersystem\irist\binです.同じコンピュータ上の私のインスタンスの両方とも、環境変数のアプリケーションサーバーインスタンスへのパスを設定しなければなりません.なぜなら、アプリケーションコードAMでは、私が直接動作するインスタンスを直接指定するからです.
    ところで、変数を設定するだけで、あなたのWindowsユーザーのインスタンスに再度変更する必要があります.
    今すぐ私のから既存の極端なアプリケーションを開きましょう.それが動作することを確認するために、あなたのライセンスがそのような接続を許すことを確認してください.また、のバージョンを参照してください.プロジェクトの選択したネットは、極端なライブラリで参照されるバージョンと同じです.
    リモートデータベースに切り替える前に、私のプログラムがまだ動作しているか確認しました.
    previous article
    そしてそれは完全に動作します.私はデータベースに私のグローバルを見ることができます.今のところ、彼らはIristインスタンスのローカルデータベースに入っています.

    今私がリモートデータベースに切り替えるために必要なのは、ローカルインスタンスIristに接続しているときに名前空間を変えることです.
    代わりに次のコードを使用します.
    Connection myConn = ConnectionContext.GetConnection();
    myConn.Connect("USER", "_SYSTEM", "SYS");
    
    使いましょう
    Connection myConn = ConnectionContext.GetConnection();
    myConn.Connect("IRIS_USER", "_SYSTEM", "SYS");
    
    このように、私は、データサーバインスタンスIRISのリモートデータベースにマップされているローカルアプリケーションサーバインスタンスIRistから、名前空間IrisRoundユーザーにアクセスします.出力は同じです:

    そして、このグローバルをアイリスインスタンスで見ることができます.

    とECP :

    任務完了!インターシステムを使用できます.キャッシュ.あなたが見つけることができるDLLライブラリ.\bin\debug\フォルダーで、IRIに接続します.そして、あなたは極端なアプリケーションからリモートデータベースに接続するためにECPを使用することができます.
    でECP環境の設定についての詳細を読むことができます.この記事のサンプルプロジェクトは前のものと同じです.