4D v16.3

SQLページ

ホーム

 
4D v16.3
SQLページ

SQLページ  


 

 

このページでは4Dに統合されたSQLサーバーのデフォルト公開パラメーターやアクセス権、および4D SQLエンジンの動作に関する設定を行います。4DにおけるSQLの詳細についてはSQLリファレンスマニュアルのコマンドラインインターフェースの拡張を参照してください。

4Dに統合されたSQLサーバの公開パラメタを変更できます。このパラメタはデータベース設定のSQL/設定ページにありま す:

  • 開始時にSQLサーバを起動オプションを使用して、アプリケーションの開始時にSQLサーバを起動できます。
  • TCPポート: デフォルトで4D SQLサーバはTCPポート19812に応答します。このポートが他のサービスで既に使用されていたり、あなたの接続パラメーターが他の設定を必要とする場合 は、4D SQLサーバが使用するポート番号を変更できます。
    Note
    : 0を指定すると、4DはデフォルトのTCPポート19812を使用します。
  • IPアドレス: SQLサーバがSQLクエリを処理するために使用する、マシンのIPアドレスを限定することができます。デフォルトではすべてが選択されて いて、サーバはすべてのIPアドレスへのクエリに応答します。
    "IPアドレス"ドロップダウンリストには、マシンに設定されているすべてのIPア ドレスがリストされます。特定のアドレスを選択すると、サーバはこのIPアドレスに送信されたクエリのみに応答します。
    これは複数のTCP/IP アドレスを持つマシン上で動作する4Dアプリケーションで有効な設定です。
    Note
    : クライアント側では、アプリケーションが接続するSQLサーバのIPアドレスやポート番号を、ODBCデータソース定義で正しく設定しなければなりませ ん。
  • SSLを有効にする: このオプションは、SQL接続を処理する際にSQLサーバがSSLプロトコルを使用するかしないかを指定します。このオプションをチェックした時は、key.pemcert.pemファ イルを以下の場所へコピーしてください:
    MyDatabase/Preferences/SQL ("MyDatabase"はデータベースフォルダ/パッケージ)。
    この場合SQL LOGINコマンドで接続を開く際、SQLサーバーのIPアドレスの後ろに":ssl"キーワードを追加しなければならない点に留意してください。
  • Flash Playerリクエストを許可する: このオプションで、4D SQLサーバによるFlash Playerリクエストをサポートするメカニズムを有効にするかどうかを指定できます。このメカニズムは、データベースの環境設定フォルダ (Preferences/SQL/Flash /) に "socketpolicy.xml" という名前のファイルが存在するかどうかに基づきます。このファイルはFlash Playerがクロスドメインの接続やFlex (Web 2.0) アプリケーションのソケットによる接続を行う場合に必要とされます。
    以前の4Dバージョンでは、このファイルを手作業で追加しなければなりません でした。これからは、Flash Playerリクエストを許可するオプションをチェックすることにより有効化されます。このオプションを チェックすると、Flash Playerリクエストが受け入れられ、必要に応じて、データベース用の汎用"socketpolicy.xml" ファイルが作成されます。このオプションの選択を解除した場合、 "socketpolicy.xml" ファイルは無効となります(名前変更)。後にSQLサーバが受け取るすべてのFlash Playerクエリは拒否されます。
    データベースを開い た時、このオプションがチェックされているか否かは、データベースの環境設定フォルダに有効な"socketpolicy.xml" ファイルが存在するかどうかに基づきます。
    Note
    : 4DのSQL SET OPTIONコマンドで、外部リクエストを処理する際にSQL サーバが使用するエンコーディングを設定できます。

セキュリティの理由で、SQLサーバに送信された外部クエリが4Dデータベースで行うことのできるアクションを制限できます。
2つのレベル でコントロールが可能です:

  • 許可するアクションのタイプのレベル
  • クエリを実行するユーザのレベル
  • これらはデー タベース設定のSQL/設定ページで設定できます
備考: On SQL Authenticationデータベースメソッドを使い、4D内部SQLエンジンに対する全ての外部アクセスを制御することもできます。

このダイアログボックスに設定されているパラメタはデフォルトスキーマに適用されます。データベースへの外部接続制御 は、SQLスキーマ (4Dと4D SQLエンジン統合の原則参照) のコンセプトに基づきます。カスタムスキーマを作成しない場合、すべてのデータベーステーブルはデフォルトスキーマに含まれます。特定のアクセス権で他の スキーマを作成し、それらをテーブルに割り当てる場合、カスタムスキーマに含まれていないテーブルのみが、デフォルトスキーマに含まれます。

SQLサーバによるデフォルトスキーマに対し、3タイプのアクセス設定ができます:

  • "読み込みのみ (データ)": データベーステーブルのすべてのデータに対する無制限の読み込みアクセス。レコードの追加、更新、削除のほか、データベースストラクチャに対する変更はで きません。
  • "読み書き (データ)": データベーステーブルのすべてのデータへの読み書き (追加、更新、削除) アクセスが可能です。データベースストラクチャの更新は許可されません。
  • "フルアクセス (データとデザイン)": データベーステーブルのすべてのデータへの読み書き (追加、更新、削除) およびデータベースストラクチャの更新 (テーブル、フィールド、リレーションなど) が許可されます。

それぞれのアクセスタイプごとにユーザのセットを割り当てることができます。3つのオプションが選択可能です:

  • <Nobody>: このオプションを選択すると、指定されたタイプのアクセスは、クエリの発行元にかかわらず拒否されます。このパラメタは4Dパスワードアクセス管理システ ムが有効でない場合でも使用できます。
  • <Everybody>: このオプションを選択すると、指定されたタイプのアクセスは、制限なしにすべてのクエリに対して許可されます。
  • ユーザーグループ: このオプションは、ユーザのグループを作成し、特定のタイプへのアクセスを行うことができるユーザを指定するために使用します。このオプションを使用する ためには4Dパスワードシステムが有効になっていなければなりません。クエリ元のユーザは、SQLサーバへの接続時、ユーザ名とパスワードを提示します。

警告: それぞれのアクセスタイプは他とは独立して設定されます。具体的には、読み込みのみ のアクセスのみを一つのグループに与えたとしても何の効力もありません。何故ならこのグループ(と他のユーザー全て)は、引き続き読み書き アクセス(デフォルトで<Everybody>に設定されている)が可能だからです。読み込みのみ のアクセスを設定したい場合には、同時に読み書き アクセスも設定する必要があります。

警告: このメカニズムは4Dパスワードシステムに依存します。SQLサーバに対するアクセスコントロールを動作させるためには、(Designerにパスワード を設定して、) 4Dパスワードシステムが有効になっていなければなりません。

: 4Dプロジェクトメソッドごとに追加のセキュリティオプションを設定できます。詳細は4Dと4D SQLエンジン統合の原則の"SQL利用可オプション"を参照してください。

  • 自動コミットトランザクション: このオプションを使用してSQLエンジンの自動コミットメカニズムを有効にできます。自動コミットモードの目的は、データの参照整合性を保つことにあります。このオプションがチェックされていると、トランザクションの中で実行されていないすべてのSELECTINSERTUPDATE、そしてDELETE (SIUD) クエリは、自動でアドホックなトランザクションに含められます。これによりクエリが完全に実行されるか、エラーが発生した場合にはキャンセルされることが保障されます。
    すでにトランザクションの中にある (参照整合性がカスタムに管理されている) クエリは、このオプションの影響を受けません。
    このオプションにチェックがされていないと、(SELECT... FOR UPDATE クエリを除き) 自動トランザクションは生成されません (SELECTコマンド参照)。デフォルトでこのオプションはチェックされていません。
    SET DATABASE PARAMETER コマンドを使用して、プログラムでこのオプションを管理することもできます。
    : 4D SQLエンジンによりクエリされるローカルデータベースのみがこのパラメタの影響を受けます。外部データベースの場合、自動コミットメカニズムはリモート のSQLエンジンが処理します。
  • 大文字小文字を区別した文字列比較: このオプションを使用してSQLクエリ時の文字列比較を変更することができます。このオプションはデフォルトでチェックされていて、SQLエンジンは文字列比較 (ソートやクエリ) の際に大文字小文字を区別します。それに加え、文字のアクセント付き・なしも区別します。例えば“ABC”=“ABC” ですが “ABC” # “Abc” また "abc" # "âbc" となります。
    SQL エンジンと4Dエンジンの動作を揃えたいなど特定のケースでは、文字列比較で大文字小文字を区別したくない (“ABC”=“Abc"="âbc") 場合があります。そのようにするには、このオプションの選択を外します。
    SET DATABASE PARAMETERコマンドを使用して、プログラムでこのオプションを管理することもできます。

 
プロパティ 

プロダクト: 4D
テーマ: データベース設定

 
履歴 

 
ARTICLE USAGE

デザインリファレンス ( 4D v16)
デザインリファレンス ( 4D v16.1)
デザインリファレンス ( 4D v16.3)