このページでは、SQL Anywhere Studio 10.0.1 のマニュアルに関する重要な訂正を一覧します。
訂正はマニュアル別に記載しています。マニュアル名は、オンライン・マニュアルの目次に表示されます。


SQL Anywhere サーバ – データベース管理

データベース管理ユーティリティ > Interactive SQL ユーティリティ (dbisqlc)

dbisqlc [ options ] [ dbisqlc-command | command-file ]

コマンドをスキャンしますが、実行しません。長いコマンド・ファイルの構文エラーをチェックする場合に有用です。←これは-xオプションの説明です。

SQL 文と Interactive SQL コマンドの詳細については、SQL 言語の要素を参照してください。

dbisqlc [ options ] [ dbisqlc-command | command-file ]

SQL 文と Interactive SQL コマンドの詳細については、SQL 言語の要素を参照してください。

データベース管理ユーティリティ > 言語選択ユーティリティ (dblang)

dblang ユーティリティで使用できるオプションは、-q のみであるという記述は誤りです。 -m オプションと -u もサポートされています。-m を指定すると、言語コードは HKEY_LOCAL_MACHINE のレジストリに記述されます。-u オプションを指定すると、 言語コードは、HKEY_CURRENT_USER のレジストリに記述されます。-m または -u を 指定しないと、言語コードは HKEY_CURRENT_USER のレジストリに記述されます。 -m と -u の両方を指定すると、言語コードは両方のロケーションに記述されます。

データベース管理ユーティリティ > サーバ・ライセンス取得ユーティリティ (dblic)

-l オプションの説明
パーシート  パーシート・ライセンスは、データベース・サーバに対するクライアント接続の数を制限します。データベース・サーバを実行しているコンピュータ上のプロセッサは、任意の数またはすべてのプロセッサを使用できます。
プロセッサ プロセッサ・ライセンスは、データベース・サーバが使用できる独立した物理プロセッサの数を制限します。データベース・サーバは、各物理プロセッサを、このライセンス・タイプで使用する 1 つの CPU として扱います。デュアル・コアまたはハイパースレッドのプロセッサを複数のプロセッサとして扱うことはしません。プロセッサ・ライセンスを取得している場合、データベース・サーバに対するクライアント接続の数に制限はありません。
-l オプションの説明
Perseat  パーシート・ライセンスは、データベース・サーバに対するクライアント接続の数を制限します。データベース・サーバを実行しているコンピュータ上のプロセッサは、任意の数またはすべてのプロセッサを使用できます。
Processor  プロセッサ・ライセンスは、データベース・サーバが使用できる独立した物理プロセッサの数を制限します。データベース・サーバは、各物理プロセッサを、このライセンス・タイプで使用する 1 つの CPU として扱います。デュアル・コアまたはハイパースレッドのプロセッサを複数のプロセッサとして扱うことはしません。プロセッサ・ライセンスを取得している場合、データベース・サーバに対するクライアント接続の数に制限はありません。

安全なデータの管理 > データベースの暗号化 > データベースの一部の暗号化 > テーブル暗号化

単純なテーブル暗号化を有効にしてデータベースを作成するには (SQL)
CREATE DATABASE 文を使用してデータベースを作成します。ただし、キーやアルゴリズムを設定するオプションは指定しません。

次のコマンドは、テーブルの単純暗号化を有効にしてデータベース new.db を作成します。

CREATE DATABASE new.db ENCRYPTED TABLE;
このデータベース内のテーブルを暗号化するときには、単純暗号化アルゴリズムが使用されます。

強力なテーブル暗号化を有効にしてデータベースを作成するには (SQL)
CREATE DATABASE 文を使用してデータベースを作成します。このとき、キーと暗号化アルゴリズムを指定します。

次のコマンドは、キー abc と暗号化アルゴリズム AES_FIPS を使用する強力なテーブル暗号化を有効にしてデータベース new.db を作成します。

CREATE DATABASE new.db
ENCRYPTED TABLE
KEY abc
ALGORITHM AES_FIPS;
このデータベース内のテーブルを暗号化するときには、キー abc とともに AES_FIPS アルゴリズムが使用されます。

単純なテーブル暗号化を有効にしてデータベースを作成するには (コマンド・プロンプト)
dbinit に -et オプションを指定してデータベースを作成します。キーと暗号化アルゴリズムは指定しません。

次のコマンドは、テーブルの単純暗号化を有効にしてデータベース new.db を作成します。

dbinit new.db -et
このデータベース内のテーブルを暗号化するときには、単純暗号化アルゴリズムが使用されます。

 簡易なテーブル暗号化を有効にしてデータベースを作成するには (SQL)
CREATE DATABASE 文を使用してデータベースを作成します。ただし、キーやアルゴリズムを設定するオプションは指定しません。

次のコマンドは、テーブルの簡易暗号化を有効にしてデータベース new.db を作成します。

CREATE DATABASE new.db ENCRYPTED TABLE;
このデータベース内のテーブルを暗号化するときには、簡易暗号化アルゴリズムが使用されます。

強力なテーブル暗号化を有効にしてデータベースを作成するには (SQL)
CREATE DATABASE 文を使用してデータベースを作成します。このとき、キーと暗号化アルゴリズムを指定します。

次のコマンドは、キー abc と暗号化アルゴリズム AES_FIPS を使用する強力なテーブル暗号化を有効にしてデータベース new.db を作成します。

CREATE DATABASE new.db
ENCRYPTED TABLE
KEY abc
ALGORITHM AES_FIPS;
このデータベース内のテーブルを暗号化するときには、キー abc とともに AES_FIPS アルゴリズムが使用されます。

簡易なテーブル暗号化を有効にしてデータベースを作成するには (コマンド・プロンプト)
dbinit に -et オプションを指定してデータベースを作成します。キーと暗号化アルゴリズムは指定しません。

次のコマンドは、テーブルの簡易暗号化を有効にしてデータベース new.db を作成します。

dbinit new.db -et
このデータベース内のテーブルを暗号化するときには、簡易暗号化アルゴリズムが使用されます。


SQL Anywhere サーバ – SQL リファレンス

SQL データ型 > データ型変換 > データ型間の比較

引数のデータ型に共通のスーパー・タイプがある場合、その共通のスーパー・タイプ・データ型に変換してから比較を行う。スーパー・タイプは、次の各リストの最終的なデータ型です。

BIT?TINYINT?UNSIGNED SMALLINT?UNSIGNED INTEGER?UNSIGNED BIGINT?NUMERIC
SMALLINT?INTEGER?BIGINT?NUMERIC
REAL?DOUBLE
CHAR?LONG VARCHAR
BINARY?LONG BINARY

たとえば、2 つの引数が BIT 型と TINYINT 型である場合、これらの引数は NUMERIC 型に変換されます。

引数のデータ型に共通のスーパー・タイプがある場合、その共通のスーパー・タイプ・データ型に変換してから比較を行う。スーパー・タイプは、次の各リストの最終的なデータ型です。

BIT > TINYINT > UNSIGNED SMALLINT > UNSIGNED INTEGER > UNSIGNED BIGINT > NUMERIC
SMALLINT > INTEGER > BIGINT > NUMERIC
REAL > DOUBLE
CHAR > LONG VARCHAR
BINARY > LONG BINARY

たとえば、2 つの引数が BIT 型と TINYINT 型である場合、これらの引数は NUMERIC 型に変換されます。

SQL 文 > ALTER TABLE 文

DROP column-name
テーブルから指定したカラムを削除します。DELETE column-name も使用で
きます。カラムがインデックス、一意性制約、外部キー、またはプライマ
リ・キーに含まれている場合は、インデックス、制約またはキーを削除して
からカラムを削除してください。このようにするとカラムを参照する検査制
約は削除されません。
DROP column-name
テーブルから指定したカラムを削除します。DELETE column-name も使用で
きます。カラムがインデックス、一意性制約、外部キー、またはプライマ
リ・キーに含まれている場合は、インデックス、制約またはキーを削除して
からカラムを削除してください。この(DROP column-name)句ではカラムを参照する検査制
約は削除されません。

SQL 文 > SET 文 [T-SQL]

また、SET ROWCOUNT では、検索する UPDATE 文または DELETE 文の対象となるローの数を integer に制限します。たとえば、この機能を使用すると、一定の間隔で COMMIT 文を実行し、ロールバック・ログとロック・テーブルのサイズを制限することができます。アプリケーション (またはプロシージャ) は、最初の操作が影響するローに更新/削除を再発行させるループを指定する必要があります。次に簡単な例を示します。また、SET ROWCOUNT では、検索する UPDATE 文または DELETE 文の対象となるローの数を integer に制限します。たとえば、この機能を使用すると、一定の間隔で COMMIT 文を実行し、ロールバック・ログとロック・テーブルのサイズを制限することができます。アプリケーション (またはプロシージャ) は、最初の操作が影響するローに更新/削除を再発行させるループを指定する必要があります。次に簡単な例を示します。 また、SET ROWCOUNT では、検索 UPDATE 文または DELETE 文の対象となるローの数を integer に制限します。たとえば、この機能を使用すると、一定の間隔で COMMIT 文を実行し、ロールバック・ログとロック・テーブルのサイズを制限することができます。アプリケーション (またはプロシージャ) は、最初の操作が影響するローに更新/削除を再発行させるループを指定する必要があります。次に簡単な例を示します。また、SET ROWCOUNT では、検索する UPDATE 文または DELETE 文の対象となるローの数を integer に制限します。たとえば、この機能を使用すると、一定の間隔で COMMIT 文を実行し、ロールバック・ログとロック・テーブルのサイズを制限することができます。アプリケーション (またはプロシージャ) は、最初の操作が影響するローに更新/削除を再発行させるループを指定する必要があります。次に簡単な例を示します。

ビュー > Sybase Central のシステム・ビュー > SYSTRIGGER システム・ビュー

trigger_time トリガが起動される時刻。この 1 文字の値は、トリガを作成したときに指定したトリガ起動時刻に対応します。

A AFTER (ロー・レベルのトリガ)

B BEFORE (ロー・レベルのトリガ)

R RESOLVE

S AFTER (文レベルのトリガ)

trigger_time トリガが起動される時刻。この 1 文字の値は、トリガを作成したときに指定したトリガ起動時刻に対応します。

A    AFTER (ロー・レベルのトリガ)

B    BEFORE (ロー・レベルのトリガ)

I    INSTEAD OF (ロー・レベルのトリガ)

K    INSTEAD OF (文レベルのトリガ)

R    RESOLVE

S    AFTER (文レベルのトリガ)


SQL Anywhere サーバ – SQL の使用法

データベース・オブジェクトの使用 > ビューの編集 > ビューの依存性  > ビューのステータス

INVALID このステータスは実体化ビュー (Materialized View) に適用されません。INVALID ステータスは、参照先オブジェクトのスキーマ変更後に発生し、変更したためにビューを有効にしようとして失敗したことを表します。たとえば、ビュー v1 がテーブル t 内のカラム c1 を参照するとします。t を変更して c1 を削除する場合、カラムを削除する ALTER 操作の一環としてデータベース・サーバがビューを再コンパイルすると、v1 のステータスは INVALID に設定されます。このとき、v1 は c1 が t に追加された場合だけ再コンパイルできます。再コンパイルしない場合、v1 は c1 を参照しないように変更されます。ビューが参照するテーブルやビューを削除した場合も、そのビューは INVALID になります。  左の赤字の記述では、ALTER VIEW 文によって INVALID ビューの問題が修正されるかのような誤った意味に取られます。実際には、INVALID ビューの問題を解決するには、次の
2 つの方法があります。

1. ビューを削除 (DROP) してから、参照されるカラムを含まないビューを作成 (CREATE)
します。ビューが正常に作成されたら、ビューは自動的に有効になります。

2. 参照先オブジェクト (テーブル、カラムなど) をリストアし、ALTER VIEW .. ENABLE を
実行してビューを再度有効にします。


QAnywhere

モバイル Web サービス > モバイル Web サービス・アプリケーションのコンパイルと実行

次の情報が不足していました。
モバイル Web サービスはJDK 1.5以降のみをサポートしています。

Mobile Link – サーバ管理

Mobile Link サーバのオプション > -ftr オプション

このオプションはファイル転送ルート・ディレクトリを作成します。登録されたすべての Mobile Link ユーザに対するサブディレクトリが自動的に作成されます。ユーザに転送するファイルは、ルート・ディレクトリまたはサブディレクトリに配置できます。
このオプションはファイル転送ルート・ディレクトリを設定します。ユーザに転送されるファイルは、ルートディレクトリまたはユーザ名のサブディレクトリに配置できます。
Mobile Linkは最初に要求されたファイルをファイル転送ルート・ディレクトリの接続クライアントのユーザ名が付いたサブディレクトリ内を探します。要求されたファイルがこのサブディレクトリになかった場合、Mobile Linkはファイル転送ルート・ディレクトリ内を見ます。

同期の方法 > ストアド・プロシージャ・コールからの結果セットのダウンロード

Oracle では、パッケージのカーソル・タイプが最初のパラメータに指定されているストアド・プロシージャが必要です。
中略
Create or replace procedure
DownloadMyTable( v_spcursor IN OUT SPInfo.SPCursor,
v_last_dl_ts IN DATE,
v_user_name IN VARCHAR ) As
Begin
Open v_spcursor For
select pk, col1, col2
from MyTable
where last_modified >= v_last_dl_ts
and employee = v_user_name;
End;

Oracle で、Oracle REF CURSORを使用してストアド・プロシージャから結果セットを取得する事ができます。しかし、iAnywhere Solutions Oracle ODBC ドライバを使用する場合、REF CURSORパラメータはストアドプロシージャのパラメータ・リストの最後に設定する必要があります。REF CURSORパラメータはOUTまたはIN OUTとして定義できます。
中略
create or replace procedure DownloadMyTable(
v_last_dl_ts IN TIMESTAMP,
v_user_name IN VARCHAR,
v_ref_crsr OUT SYS_REFCURSOR ) As
Begin
Open v_spcursor For
select pk, col1, col2
from MyTable
where last_modified >= v_last_dl_ts
and employee = v_user_name;
End;

Mobile Link – クライアント管理

Mobile Link ユーザ > リモート ID > スクリプトでのリモート ID と Mobile Link ユーザ名の使用

多くの同期スクリプトでは、リモート・データベースの識別にオプションでリモート ID (名前付きパラメータ s.remote_id) または
Mobile Link ユーザ名 (s.remote_id) を使用できます。リモート ID を使用するといくつかの利点があります (特に Ultra Light の場合)。
多くの同期スクリプトでは、リモート・データベースの識別にオプションでリモート ID (名前付きパラメータ s.remote_id) または
Mobile Link ユーザ名 (s.username) を使用できます。リモート ID を使用するといくつかの利点があります (特に Ultra Light の場合)。

Mobile Link クライアントのネットワーク・プロトコル・オプション > trusted_certificates

Ultra Light クライアントでは、実装は次のようになります。

info.stream = “https”;
info.stream_parms = TEXT(
“port=9999;
trusted_certificates=\rsaroot.crt;
certificate_name=RSA Server”);
info.security_stream = NULL;
info.security_parms = NULL;

Palm OS が動作している Ultra Light クライアントの場合、stream と stream_parms の設定は次のようになります。

info.security_stream = “tls“;
info.security_parms = “tls_type=rsa;trusted_certificates=vfs:/rsaroot.crt;port=9376“;

Ultra Light クライアントでは、実装は次のようになります。

info.stream = “https”;
info.stream_parms = TEXT(
“port=9999;
trusted_certificates=\rsaroot.crt;
certificate_name=RSA Server”);

Palm OS が動作している Ultra Light クライアントの場合、stream と stream_parms の設定は次のようになります。

info.stream = “https“;
info.stream_parms = “trusted_certificates=vfs:/rsaroot.crt;port=9999“;

Mobile Link SQL Anywhere クライアント・ユーティリティ [dbmlsync] > -r オプション

-rb リモート・データベースがバックアップからリストアされると、デフォルトの動作がデータ損失の原因となることがあります。この場合、リモート・データベースをリストアした後、初めて dbmlsync を実行するときに -rb を指定します。-rb を使用すると、リモート・データベースに記録されたオフセットが統合データベースから取得したオフセットよりも小さい場合、リモート・データベースに記録されているオフセットからアップロードが継続されます。-rb を使用し、リモートのオフセットが統合データベースからのオフセットより小さい場合、エラーが報告され、同期がアボートされます。 -rb リモート・データベースがバックアップからリストアされると、デフォルトの動作がデータ損失の原因となることがあります。この場合、リモート・データベースをリストアした後、初めて dbmlsync を実行するときに -rb を指定します。-rb を使用すると、リモート・データベースに記録されたオフセットが統合データベースから取得したオフセットよりも小さい場合、リモート・データベースに記録されているオフセットからアップロードが継続されます。-rb を使用し、リモートのオフセットが統合データベースからのオフセットより大きい場合、エラーが報告され、同期がアボートされます。