Datasnap.DSServer.TDSServerClass

提供: RAD Studio API Documentation
移動先: 案内検索

Datasnap.DSCommonServer.TDSCustomServerClassDatasnap.DSCommonServer.TDSServerComponentSystem.Classes.TComponentSystem.Classes.TPersistentSystem.TObjectTDSServerClass

Delphi

TDSServerClass = class(TDSCustomServerClass)

C++

class PASCALIMPLEMENTATION TDSServerClass : public Datasnap::Dscommonserver::TDSCustomServerClass

プロパティ

種類 可視性 ソース ユニット
class public
Datasnap.DSServer.pas
Datasnap.DSServer.hpp
Datasnap.DSServer Datasnap.DSServer


説明

動的メソッド呼び出しを使用してリモート クライアントから呼び出し可能な公開メソッドを持つサーバー側クラスを指定するために使用するコンポーネント。

TDSServerClass は、リモート クライアントから動的メソッド呼び出しで呼び出すことができる公開メソッドを持つサーバー側クラスを指定するためのコンポーネントです。

このクラスのメソッドは、DBX クライアント プロバイダや ADO.NET プロバイダなどのリモート クライアントから呼び出すことができます。

含まれるプロバイダに対してクライアント側の TDSProviderConnection クライアント コンポーネントからアクセスできるよう、TRemoteDataModule を拡張したサーバー側クラスを指定することもできます。

公開サーバー クラス メソッドのパラメータおよび戻り値の型としては、TDBXValue スカラ値、TDBXReader オブジェクト、および TStream オブジェクトから派生した、ほとんどの dbExpress 値の型がサポートされています。

サポートされているパラメータ型

現在、パラメータを渡すには TDBXValue を使う方法が最も高速です。これがパラメータ リストを管理するために使われる内部オブジェクトだからです。 このパラメータ型を指定すると、内部的に保持している TDBXValue が直接アプリケーションに渡されます。 ただし、これは TDBXParameterDirections.IN_OUT_PARAMETER パラメータとして扱われるため、値が大きい場合には、メソッドから戻る前にアプリケーション側で TDBXWritableValue.SetNull を呼び出す必要があります。 そうしないと、値がリモート クライアントに送り返されます。

パラメータとして使用できる TDBXValue 型を以下に挙げます。

パラメータとして使用できる JSON 固有の型を以下に挙げます。

var および out のスカラ値型または文字列型は、いずれもサポートされています。

サーバー メソッドの var パラメータは、データベース クライアント ドライバでは TDBXParameterDirections.IN_OUT_PARAMETER として扱われます。 サーバー メソッドの out パラメータは、データベース クライアント ドライバでは TDBXParameterDirections.OUT_PARAMETER として扱われます。

サポートされているスカラ値型を以下に挙げます。

in および return のスカラ値型はサポートされています。

サーバー メソッドの in パラメータは、データベース クライアント ドライバでは TDBXParameterDirections.IN_PARAMETER として扱われます。 サーバー メソッドの return パラメータは、データベース クライアント ドライバでは TDBXParameterDirections.RETURN_PARAMETER として扱われます。 戻り値は、コマンドのパラメータ リスト内の最後のパラメータとしてデータベース クライアント ドライバに提供されます。

var および out のパラメータとして渡すことができるすべてのスカラ値のほかに、以下のデータ型がサポートされています。

現在、TBcd 値と TSQLTimeStamp 値を渡すことができるのは、TDBXBcdValue パラメータと TDBXTimeStampValue パラメータを使用する場合のみです。

また、TObject から派生したオブジェクトはどれも、var パラメータおよび out パラメータとして渡すことができます。

共有データベース接続

サーバー メソッドとクライアント接続は、データベース接続へのアクセスを共有できます。 クライアント接続は、サーバー側のデータベース接続への関連を一度に 1 つしか持つことができません。 クライアントとサーバー メソッドがデータベース接続を共有することで、クライアントは、自身が呼び出すサーバー メソッドが使用するのと同じデータベース接続やトランザクション コンテキストを使用して、SQL 文や SQL ストアド プロシージャを実行できます。 クライアントがサーバー メソッドとデータベース接続を共有するには、TDBXConnection インスタンスを返すサーバー メソッドを呼び出します。 TDBXConnection インスタンスは、実際にはクライアントに返されません。 代わりに、その TDBXConnection インスタンスは、クライアントによって実行されるすべての SQL 文と SQL ストアド プロシージャ コマンドで使用されます。 便宜上、このサーバー メソッドを指定するには、TDBXPropertyNames.ServerConnection 接続プロパティを TDBXConnection インスタンスを返すサーバー メソッドの名前に設定します。

関連項目