次に、バージョン 12.0.1 で導入された SQL Anywhere の動作の変更を示します。サポートされているプラットフォームとバージョンについては、 http://www.ianywhere.jp/tech/1061806-os_components.htmlを参照してください。
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) によって、エラーを生成することなく無視されました。現在は、以下のデータベースサーバーオプションは、パーソナルデータベースサーバーで使用される場合、警告を生成します。
-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)を参照してください。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |