Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 » SQL Anywhere 16 変更点とアップグレード » バージョン 12.0.1 の新機能

 

SQL Anywhere の動作の変更

次に、バージョン 12.0.1 で導入された SQL Anywhere の動作の変更を示します。サポートされているプラットフォームとバージョンについては、[external link] http://www.sybase.com/detail?id=1061806を参照してください。

  • LOAD および UNLOAD TABLE 文で使用されるエスケープ文字   以前のリリースでは、これらの文のエスケープ文字は 1 バイトより長くすることはできませんでした。現在は、エスケープ文字に指定する文字列は 255 バイトを超えないことが推奨されていますが、文字列は 1 文字以下にすることが推奨されています。

  • 最大キャッシュサイズに応じて最小および初期キャッシュサイズが増える   初期キャッシュサイズまたは最小キャッシュサイズを最大キャッシュサイズの 8 分の 1 より小さい値に設定すると、最大キャッシュサイズに関連して、初期および最小キャッシュサイズが自動的に増えます。その結果、最小キャッシュサイズおよび初期キャッシュサイズが以前のバージョンよりも大きくなる場合がよくあります。

  • reserved_keywords オプションの範囲の変更   以前は、reserved_keywords オプションを個別のユーザに指定したり、設定が一時的な範囲であることを指定できました。しかし、特定の DDL 文を実行するときに一時的な設定やユーザレベルの設定が対応する PUBLIC 設定と異なる場合、データベースの受信または再構築時に問題が発生する場合があります。

    reserved_keywords オプションへの次の動作変更は、新しい 12.0.1 バージョンのデータベースに適用されます。

    • 一時的な設定および非 PUBLIC 設定は許可されません

    reserved_keywords オプションへの次の動作変更は、既存のバージョン 12 のデータベースに適用されます。

    • 既存の非 PUBLIC 設定は実行中に無視されます。

    • 既存の非 PUBLIC 設定の削除が許可されます。

    • Dbunload は、既存の非 PUBLIC 設定を無視します。

  • マルチプログラミングレベルのオプション   以前は、ネットワークデータベースサーバ (dbsrv12) に厳密に適用されるマルチプログラミングレベルのデータベースサーバオプションはパーソナルデータベースサーバ (dbeng12) によって、エラーを生成することなく無視されました。現在は、以下のデータベースサーバオプションは、パーソナルデータベースサーバで使用される場合、警告を生成します。

    • 「-gna」 dbsrv12 サーバオプション
    • 「-gnh」 dbsrv12 サーバオプション
    • 「-gnl」 dbsrv12 サーバオプション
    • 「-gns」 dbsrv12 サーバオプション

  • -zt データベースサーバオプションに対する変更   -zt データベースサーバオプションを設定することによって、ReqCountBlockIO プロパティと ReqTimeBlockIO プロパティが利用可能になることはなくなりました。これらの 2 つのプロパティは、RequestTiming プロパティがオンにされているかどうかにかかわらず現在では常に利用できます。

  • SQLTables 関数の ODBC 接続パラメータへの変更   ODBC 関数 SQLTables を実行すると、TABLE_TYPE カラムはデフォルトで実体化ビューに対して値 VIEW を返すようになりました。以前は、この関数は値 MATERIALIZED VIEW を返しました。MATVIEW 接続パラメータを使用してこのパラメータを変更できます。MatView (MATVIEW) 接続パラメータを参照してください。

  • CONVERT 関数   フォーマット化された文字列の解析が強化されて、文字列の時間部分がフォーマットhh:nn:ss.ssssssAAに一致すると受け入れられるようになりました。時間文字列は時間の桁を指定する必要がありますが、その他の時間部分はすべてオプションです。AM/PM インジケータは時間部分が省略されるかどうかにかかわらず、常に受け入れられます。これにより、秒の後のマイクロ秒を表す 6 桁までが許容されます。

    この変更は文字列の TIME および TIMESTAMP への変換にも影響を与えます。CONVERT 関数 [データ型変換]を参照してください。

    以前は、format-style を指定して CONVERT 関数を使用して文字列を時間に変換すると、SQL Anywhere 10 以降では以前のバージョンで許可された変換が拒否されました。たとえば、次の文はバージョン 9 では受け入れられましたが、バージョン 10 以降では拒否されました。

    SELECT CONVERT( TIME, '11:45am', 14 ) tm_conv 

    文字列を TIME に変更する動作が SQL Anywhere のバージョン 9 からバージョン 10 以降で変更され、バージョン 10 以降では、文字列を TIMESTAMP に変換するために使用される規則と同じ規則が適用されます。たとえば、文字列 11:45am はフォーマットスタイル 14 (hh:nn:ss.sss) とは正確には一致しません。なぜなら、この文字列にはスタイルに存在しない am インジケータが含まれるからです。

    次の文はバージョン 9 では受け入れられましたが、バージョン 10 以降では拒否されました。文字列がスタイルフォーマット 101 (mm/dd/yyyy) と一致しないからです。

    SELECT CONVERT( TIME, '1991-02-03 11:45', 101 )

  • サーバライセンスユーティリティ (dblic) によるライセンスされたユーザ名と会社名の変更   ユーザカウントとライセンスタイプを指定しなくてもライセンスされたユーザと会社を変更できるようになりました。サーバライセンス取得ユーティリティ (dblic)を参照してください。