Symfowareデータベースを利用する場合の留意事項を以下の順に説明します。
Symfowareデータベース運用における留意事項
Symfowareデータベースを運用するにあたり、以下の留意事項があります。
Symfoware/RDBのクライアント用の動作環境ファイルにおいて以下に示すパラメタは指定しないでください。
SERVER_SPEC
DEFAULT_CONNECTION
WAIT_TIME
NCHAR_CODE
CHARACTER_TRANSLATE
DSO_LOCK
SIGNAL_INF
クライアントシステムを使用する利用者のログオン名およびパスワードは、サーバシステムのシステム管理者が一括管理する運用としてください。また、パスワード有効期限チェックは利用しないでください。ログオン名の登録は、ユーザ運用を開始するまでに実施しておいてください。
Symfowareデータベースを利用する場合、環境変数“RDASV_PASSWD”の設定にかかわりなく、パスワードを利用して正当性の確認を実施します。
ドメインコントローラ配下のサーバシステムでRDA-SVを利用する場合は、ユーザの権限にローカルログオンを必ず設定してください。この設定が行われていないクライアントユーザからは、データベースアクセスができません。
Symfowareデータベースが機密保護を適用するに伴い、RDA-SVでは、権限を持つ情報のみを公開しています。データ定義文を実行するユーザに対しては、機密保護に対する権限を与えておいてください。
文字コード変換時、変換先に該当する文字コードが存在しない文字は、“_”(下線)に置き換えます。
文字比較の結果値およびソートの結果値は、サーバシステムのコード系(SJISコード)に従いクライアントシステムに返却します。
SQL文中に表れる表名などで、英大文字・英小文字は英大文字として扱います。
入力待ち時間監視値は、クライアントシステムのオペレーション時間を考慮し設定してください。
データ定義文の利用における留意事項
Symfowareデータベースのデータ定義文を利用するにあたり、以下の留意事項があります。
クライアントシステムから実行するデータ定義文の構文はSymfowareデータベースの構文と異なります。以下に、クライアントシステムから実行するデータ定義文の構文について説明します。
参照
各要素についての詳細は、“SQLリファレンス”を参照してください。
表定義
CREATE TABLE <表名> (<表要素> [{,<表要素>}...])
ビュー定義
CREATE VIEW <表名> [(ビュー列リスト)] AS <問合せ指定> [WITH CHECK OPTION]
インデックス定義
CREATE INDEX <スキーマ名>.<インデックス名> ON <表名> (<列名> [{,<列名>}...])
表削除
DROP TABLE <表名> CASCADE
ビュー削除
DROP VIEW <表名> CASCADE
インデックス削除
DROP INDEX <スキーマ名>.<インデックス名>
表定義文(CREATE TABLE)中に一意性制約(UNIQUE|PRIMARY KEY)を指定する場合、表にデータを格納する前に当該の列および列群に対するインデックス定義を実施しなければなりません。なお、一意性制約には、NOT NULL指定が必要です。
表定義文で指定する表名は、スキーマ内で一意でなければなりません。スキーマ名および表名の文字数は、それぞれ8文字以内でなければなりません。
なお、動作環境ファイルで、DSO、DSI内の命名規約を変更している場合については、“付録B Symfowareデータベース資源と命名規約”を参照してください。
インデックス定義(CREATE INDEX)文中にUNIQUE指定することはできません。なお、インデックスに対し、一意性を要求するには、表定義において一意性制約を指定しなければなりません。
インデックス定義文で指定するインデックス名は、スキーマ内で一意でなければなりません。スキーマ名およびインデックス名の文字数は、それぞれ8文字以内でなければなりません。
なお、動作環境ファイルで、DSO、DSI内の命名規約を変更している場合については、“付録B Symfowareデータベース資源と命名規約”を参照してください。
参照
Symfowareデータベースの運用詳細は、“RDB運用ガイド”、“RDB運用ガイド(データベース定義編)”および“アプリケーション開発ガイド(埋込みSQL編)”を参照してください。
ODBC対応パッケージとの連携時における留意事項
ODBC対応パッケージとSymfowareサーバ連携時の留意事項を以下に示します。
クライアントシステムから実行するSQL文がデータ定義文の場合の留意事項を以下に説明します。
データ定義文の発行をした場合、システムで自動的にコミットします。したがって、データ定義文発行前に操作していたカーソルはすべてクローズされます。
表定義文において一意性制約を指定した場合、列または列の並びに対してインデックスを定義しなければなりません。
インデックス定義文に指定した“UNIQUE”オペランドは有効となりません。したがって、表定義文で指定した一意性制約に対応する列または列の並びの組み合わせと一致しない場合、重複する値を持つインデックスとして定義されます。
インデックス定義文に指定したインデックス名はシステムで自動的に変換し、以降は変換されたDSO名が登録されます。したがって、システム表アクセス時の探索条件にインデックス定義文に指定したインデックス名を指定して検索を行っても一致しません。
データ操作文で表をアクセスした後に表削除文を実行するとエラーとなることがあります。
クライアントシステムから通知された表名がスキーマ名で修飾されていない場合、クライアントシステム(ODBCドライバセットアップファイル)に指定されたデフォルトスキーマ名で修飾されたものとみなします。
各国語文字列型で定義された列の属性は、文字列型が通知されます。また、SQL文中に各国語文字列定数を指定することはできません。
クライアントシステムから実行するSQL文がデータ操作文の場合の留意事項を以下に説明します。
ODBC対応パッケージが固有のデータ型を持つ場合、データベース上の文字列型の列の長さや数値型の列の精度および位取りにより対応するデータ型が異なることがあります。
文字列型を操作する場合、システムが自動的にコード変換を行うため有効文字長が変更されエラー(有効文字が失われるなど)となることがあります。特にカナ半角文字を含む文字列を操作する場合には注意が必要です。
クライアントシステムから通知された表名がスキーマ名で修飾されていない場合、クライアントシステム(ODBCドライバセットアップファイル)に指定されたデフォルトスキーマ名で修飾されたものとみなします。
各国語文字列型で定義された列の属性は、文字列型が通知されます。また、SQL文中に各国語文字列定数を指定することはできません。