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

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

 

SQL Anywhere の新機能

次に、SQL Anywhere バージョン 12.0.1 の新機能を示します。

サポートされるプラットフォームのリストに加えられた変更については、[external link] http://www.ianywhere.jp/tech/1061806-os_components.htmlを参照してください。

  • 空間データのサポートの強化   SQL Anywhere の空間データサポートに以下の強化が行われました。

    • パフォーマンスの改善   次の空間操作のパフォーマンスが大幅に改善されました。

      • シェイプファイルのロード時間

      • 多角形と複数多角形および曲面の空間参照系に属する多角形を含むコレクションのロード

      • 複雑な多角形と複数多角形のロード (たとえば、多数のリングまたは多数の点を含むリングで定義される多角形)

      • 複雑なジオメトリに適用される ST_Union および ST_Intersection などの空間セット操作

      • ST_Contains and ST_Intersects などの空間述部

      • ジオメトリの 1 つが点である空間述部

      • インデックス付きの曲面ジオメトリカラムに ST_WithinDistance または ST_Distance を適用する空間述部

    • Interactive SQL: インポートウィザードでシェイプファイルをサポート   インポートウィザードに ESRI シェイプファイルをインポートするオプションが含まれるようになりました。インポートウィザード (Interactive SQL) でのデータのインポートを参照してください。

    • Interactive SQL: INPUT 文の新しい FORMAT SHAPEFILE および SRID 句   INPUT 文で FORMAT SHAPEFIL 句を使用した ESRI シェイプファイルのロードをサポートするようになりました。INPUT 文にシェイプファイルをロードするときに使用する SRID を指定する SRID 句も追加されました。INPUT 文 [Interactive SQL]を参照してください。

    • 新しい st_geometry_load_shapefile システムプロシージャー   st_geometry_load_shapefile システムプロシージャーを使用すれば、ファイルの名前、データをロードするために使用する SRID およびデータを作成してロードするテーブルの名前を提供することによって ESRI シェイプファイルをロードできます。テーブルのカラムは、シェイプファイルで指定されたカラム名から取得されます。st_geometry_load_shapefile システムプロシージャーを参照してください。

      注意

      この新しいストアドプロシージャーにアクセスするには、データベースをアップグレードする必要があります。

    • ST_CircularString 補間許容値を指定する新しいデータベースオプション   ST_CircularString ジオメトリの補間を制御するために st_geometry_interpolation オプションが追加されました。st_geometry_interpolation オプションを参照してください。

    • ST_WithinDistanceFilter の強化   曲面の空間参照系のジオメトリで空間述部 ST_WithinDistanceFilter がサポートされるようになりました。ST_Geometry タイプの ST_WithinDistanceFilter メソッドを参照してください。

  • java_class_path オプションの強化   java_class_path database オプションを使用して、システムクラスローダーが Java VM を起動する前にクラスパスに追加するクラスと JAR ファイルを指定できるようになりました。このオプションは、アプリケーションでディレクトリまたは JAR ファイルを提供する場合に便利です。java_class_path optionを参照してください。

  • 新しい MATVIEW ODBC 接続パラメーター   MATVIEW 接続パラメーターを使用すれば、ODBC 関数 SQLTables を実行するときに実体化ビューのテーブルタイプに返す文字列を指定できます。デフォルトでは、SQLTables 関数によって返される値は VIEW です。MatView (MATVIEW) 接続パラメーターを参照してください。

  • 新しい -kp データベースサーバーオプション   -kp オプションを使用して、標準形式の server-name/hostname@REALM でサーバープリンシパルを指定できるようになりました。-kp オプションは、データベースサーバーに対する Kerberos 認証された接続を有効にします。-kp dbeng12/dbsrv12 サーバーオプションを参照してください。

  • PartnerState プロパティの強化   PartnerState プロパティが DB_PROPERTY 関数と共に使用した場合に次のいずれかの値を返すようになりました。

    • connected   現在のサーバーから指定されたサーバーへの接続および指定されたサーバーから現在のサーバーへの接続があります。

    • incoming only   指定されたサーバーからこのサーバーへの接続があります。

    • outgoing only   このサーバーから指定されたサーバーへの接続があります。

    • disconnected   このサーバーと指定されたサーバーの間に接続がありません。

    • NULL   データベースはミラーリングされていません。

    PartnerState データベースプロパティを参照してください。

  • MirrorServerState プロパティの強化   MirrorServerState プロパティが、DB_EXTENDED_PROPERTY 関数と共に使用した場合に次のいずれかの値を返すようになりました。

    • connected   現在のサーバーから指定されたサーバーへの接続および指定されたサーバーから現在のサーバーへの接続があります。

    • incoming only   指定されたサーバーからこのサーバーへの接続があります。

    • outgoing only   このサーバーから指定されたサーバーへの接続があります。

    • disconnected   このサーバーと指定されたサーバーとの間に接続はありません。

    • NULL   データベースはミラーリングされていません。

    MirrorServerState データベースプロパティDB_PROPERTY 関数 [システム]DB_EXTENDED_PROPERTY 関数 [システム]を参照してください。

  • 新しい sp_forward_to_remote_server プロシージャー   sp_forward_to_remote_server ストアドプロシージャーを使用して、アプリケーションがリモートサーバー上で SQL 文を実行し、この文によって生成される結果セットを取得できます。sp_forward_to_remote_server システムプロシージャーを参照してください。

    注意

    このストアドプロシージャーにアクセスするには、データベースをアップグレードする必要があります。

  • 新しい sa_user_defined_counter_add システムプロシージャー   sa_user_defined_counter_add システムプロシージャーを使用して、ユーザー定義のプロパティの値を変更できます。sa_user_defined_counter_add システムプロシージャーを参照してください。sa_user_defined_counter_add システムプロシージャーを参照してください。

    注意

    このストアドプロシージャーにアクセスするには、データベースをアップグレードする必要があります。

  • 新しい sa_user_defined_counter_set システムプロシージャー   sa_user_defined_counter_set システムプロシージャーを使用して、ユーザー定義のプロパティの値を設定できます。sa_user_defined_counter_set システムプロシージャーを参照してください。

    注意

    このストアドプロシージャーにアクセスするには、データベースをアップグレードする必要があります。

  • SQLANYSAMP12 環境変数   Unix および Mac OS X インストーラーで sa_config および sample_config スクリプトに SQLANYSAMP12 環境変数が設定されるようになりました。Unix では、sample_config スクリプトを使用して、ユーザー別のサンプルのコピーを作成できます。これはマルチユーザーインストールに便利です。シングルユーザーインストールの場合、sa_config スクリプトで $SQLANY12/samples に SQLANYSAMP12 を設定します。SQLANYSAMP12 環境変数UNIX および Mac OS X ファイルを参照してください。

  • データ型 LONG VARCHAR、LONG BINARY、および LONG NVARCHAR の IN パラメーターをリモートプロシージャーコールで使用可能   リモートプロシージャーコールにデータ型 LONG VARCHAR、LONG BINARY、および LONG NVARCHAR の IN パラメーターを含むことができるようになりました。さらに、データ型 VARCHAR、NVARCHAR、および BINARY のパラメーターが 255 バイトに制限されなくなりました。リモートプロシージャーの作成 (Sybase Central の場合)を参照してください。

  • CREATE SERVER 文の USING 句に変数を含めることが可能   CREATE SERVER 文の USING 句に変数を含めることができるようになりました。この機能を使用すれば、ユーザーは動的なリモートデータアクセスサーバーを作成できます。CREATE SERVER 文を参照してください。

  • リモートデータアクセスで SQL Anywhere の ODBC ドライバーを直接ロード可能   Windows と UNIX の両プラットフォームで ODBC ドライバーマネージャーをバイパスして、リモートデータアクセスで SQL Anywhere ドライバーが直接ロードされるようにリモートサーバーを定義できます。リモートサーバーを指定する際、次の構文を使用します。この後には、接続文字列の残りの部分を続けます。
    CREATE SERVER remote-server CLASS 'saodbc' USING 'DRIVER=SQL Anywhere Native;...';

    DRIVER=SQL Anywhere Native' を使用しないで定義されている SQL Anywhere リモートサーバーが複数ある場合、リモートデータアクセスは他のリモートサーバーのドライバーマネージャーを引き続き使用します。

  • CREATE EXISTING TABLE 文および CREATE PROCEDURE 文の AT 句に変数を含めることが可能   CREATE EXISTING TABLE および CREATE PROCEDURE 文の AT 句に変数を含めることができるようになりました。この機能を使用すれば、ユーザーはプロキシテーブルまたはプロキシプロシージャを複数のリモートテーブルまたはプロシージャーにマッピングできます。CREATE EXISTING TABLE 文CREATE PROCEDURE 文を参照してください。

  • MERGE 文の RAISERROR 句および RAISERROR 文への強化   RAISERROR 文を使用することによって、SQL Anywhere データベースサーバーはアプリケーションでカスタマイズしたエラーを発生させることができます。データベースサーバーはまた組み込みグローバル変数 SQLCODE を提供します。この変数の値を調べて、現在の接続の最後の文の実行中に発生した特定のエラーを識別できます。データベースサーバーは固定 -631 エラーメッセージの代わりに SQLCODE のユーザー指定のエラー番号をレポートするようになりました。MERGE 文RAISERROR 文を参照してください。

  • VALIDATE TEXT INDEX 文   VALIDATE TEXT INDEX 文を使用して、テキストインデックス内の単語の位置情報が正常であることを確認できます。位置情報が壊れている場合、エラーが生成されます。VALIDATE 文を参照してください。

  • TOP および LIMIT 句の拡張構文   TOP { ALL | limit } START AT startat および LIMIT limit [ OFFSET offset ] 句が limit, offset、および startat 引数の簡単な計算式をサポートするようになりました。TOP は ALL limit をサポートし、指定された startat 値の後にすべてのローが返されることを示します。( limit + offset ) と ( limit + startat -1 ) の最大値が 9223372036854775807 = 2^64-1 に増えました。

    次の項を参照してください。

  • SQL Anywhere OLE DB プロバイダーが DBTYPE_DBTIMESTAMPOFFSET データ型をサポート   SQL Anywhere OLE DB プロバイダーが DBTYPE_DBTIMESTAMPOFFSET データ型をサポートするようになりました。DBTYPE_DBTIMESTAMPOFFSET (146) は TIMESTAMP WITH TIME ZONE (または DATETIMEOFFSET) データ型をサポートする OLE DB 型です。このデータ型をサポートすることにより、SQL Anywhere データベースと他のデータベース管理システム (SQL Anywhere を含む) 間でのデータテーブルの転送が容易になります。

  • Web サービスで HTTP リダイレクト操作の改善された制御をサポート   CREATE PROCEDURE および CREATE FUNCTION 文の新しい SET REDIR 句は許容される最大数のリダイレクションの制御を可能にし、自動的にリダイレクトする HTTP ステータスを指定します。

    303 ステータスを受信する POST HTTP メソッドを指定する Web サービスプロシージャが GET HTTP メソッドを使用してリダイレクト要求を発行します。

    HTTP クライアントプロシージャーで相対パスのリダイレクションを処理するようになりました。以前は、サーバーで絶対 URL が提供された場合にのみリダイレクションを実行できました。

    リダイレクトを受け取る GET メソッドのみが、リダイレクト応答のロケーションヘッダー URL によって指定されたクエリコンポーネントを提供します。リダイレクトを受け取る POST メソッドがリダイレクト応答のロケーションヘッダーによって指定されたパスとクエリコンポーネントを含む要求の URL を発行します。この要求の本文には、プロシージャーによって生成されたクエリコンポーネントが含まれます。

    URL 句内および (自動的に生成されて) プロシージャーに渡されたパラメーターからの両方でクエリパラメーターを指定できるようになりました。これは、GET HTTP メソッドを指定するプロシージャーにのみ該当します。

  • Windows Mobile でセキュア Web サービスをサポート   Windows Mobile で HTTPS and HTTPS_FIPS を使用する Web サービスプロシージャーがサポートされるようになりました。

  • SQL Anywhere JDBC ドライバーが PreparedStatement.setClob() をサポート   SQL Anywhere JDBC ドライバーが PreparedStatement.setClob() をサポートするようになりました。

    以前のリリースでは、SQL Anywhere JDBC ドライバーは PreparedStatement.setBlob、ResultSet.getBlob、および ResultSet.getClob のサポートを提供しました。SQL Anywhere JDBC ドライバーは 3 つの PreparedStatement.setClob メソッドのうちの 2 つをサポートするようになりました。これらのメソッドについては、以下に説明します。

    PreparedStatement.setClob( int parameterIndex, Clob x )
    PreparedStatement.setClob( int parameterIndex, Reader reader, long length )

    以下のバリエーションは、SQL Anywhere JDBC ドライバーではサポートされていません。

    PreparedStatement.setClob( int parameterIndex, Reader reader )

    PreparedStatement.setClob( int parameterIndex, Clob x ) オーバーロードを使用する場合、ユーザー提供の Clob 実装は Clob.length および Clob.getCharacterStream メソッドのみサポートする必要があります。また、大きい文字列および大きい文字ストリームの場合、SQL Anywhere JDBC ドライバー内の新しい PreparedStatement.setClob メソッドが PreparedStatement.setString および PreparedStatement.setCharacterStream メソッドよりもパフォーマンスとメモリ使用率の両方で推奨されます。JDBC サポートを参照してください。

  • SQL Anywhere Java VM ClassLoader がシャットダウンフックをサポート   データベースサポートでの Java の提供に使用される SQL Anywhere Java VM ClassLoader を使用して、アプリケーションでシャットダウンフックをインストールできます。Java VM でのシャットダウンフックを参照してください。

  • SQL Anywhere .NET SetupVSPackage インストーラー   SetupVSPackage アプリケーションで Global Assembly Cache や Windows Microsoft.NET machine.config ファイルの更新などのいくつかのインストーラー機能を実行できるようになりました。SQL Server 2008 以降がシステムにインストールされている場合、SetupVSPackage で MSSqlToSA.xml および SAToMSSql10.xml と呼ばれる 2 つのマッピングファイルを SQL Server の DTS\MappingFiles フォルダーにインストールすることもできます。.NET クライアントの配備を参照してください。