この項では、DBTools ライブラリとの間で情報を交換するために使用する構造体について説明します。構造体はアルファベット順に示します。a_remote_sql 構造体を除くすべての構造体は、dbtools.h に定義されています。a_remote_sql 構造体は、dbrmt.h に定義されています。
構造体の要素の多くは、対応するユーティリティのコマンドラインオプションに対応しています。たとえば、0 または 1 の値を取ることができるクワイエット (quiet) と呼ばれるメンバーをもつ構造体があります。このメンバーは、多くのユーティリティが使用するクワイエットオペレーション (-q) オプションに対応しています。
このファイルで定義されているデータ構造体は、ファイルの適用先となるメジャーバージョンの SQL Anywhere の DBTools API で使用できます。たとえば、バージョン 10.0.0 の dbtools.h ファイルを使用して構築されたアプリケーションからは、dbtool9.dll や dbtool11.dll にアクセスできなくなります。
メジャーバージョンの中では、同じメジャーバージョンの以前または以後のバージョンの dbtools.h を使用して構築されたアプリケーションが動作するように、構造体に変更が加えられます。以前のバージョンを使用して構築されたアプリケーションからは、新しいフィールドにアクセスできなくなります。そのため、DBTools では、以前のバージョンと同じ動作になるデフォルト値が用意されています。通常はこの結果として、ポイントリリースで追加された新しいフィールドが構造体の最後に出現します。
同じメジャーリリースの中の以後のバージョンを使用して構築されたアプリケーションの動作は、構造体の "version" フィールドで指定された値に依存します。指定したバージョン番号が以前のバージョンに対応している場合は、そのバージョンの dbtools.h を使用してアプリケーションを構築した場合とまったく同様に、アプリケーションから以前のバージョンの DBTools DLL を呼び出すことができます。指定したバージョン番号が現在のバージョンの場合は、以前のバージョンの DBTools DLL を使おうとするとエラーになります。
バージョン番号の定義の詳細については、dbtlvers.h を参照してください。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |