ページの先頭行へ戻る
Symfoware Server V11.0.0 アップデート情報
Symfoware

2.24 アプリケーションの予約語のレベルの変更

変更内容

V10.1.0では、アプリケーションの予約語のレベルの省略値がSQL2007になります。これにともない、V10.1.0以降では、以下の条件をすべて満たす場合、CREATE FUNCTION文で定義したファンクションルーチンが動作しません。

  1. 以下の表に示す文字列と同名のファンクションルーチンを定義している

    表2.6 対象の文字列

    対象の文字列

    ACOS

    ASIN

    ATAN

    ATAN2

    COS

    EXP

    LN

    POWER

    SIGN

    SIN

    SQRT

    TAN

    ASCII

    OCTET_POSITION

    LTRIM

    RTRIM

    OCTET_SUBSTRING

    CHR

    CNV_TIME

    CNV_TIMESTAMP

    XMLQUERY

    XMLEXISTS

  2. SQL文に上記のファンクションルーチンを指定し、そのルーチン名にスキーマ名修飾を行っていない

  3. アプリケーションの予約語のレベルを設定していない、または以下のいずれかで設定している

    • 埋込みSQL連携の場合、クライアント用の動作環境ファイルのパラメタSQL_LEVELにSQL2007を指定している

    • Java連携の場合、以下のいずれかで設定している

      • ctuneparamオプションのCLI_SQL_LEVELパラメタに、SQL2007を指定している

      • クライアント用の動作環境ファイルのSQL_LEVELパラメタに、SQL2007を指定している

    • ODBC連携の場合、ODBCデータソースのその他パラメタの、CLI_SQL_LEVELパラメタに、SQL2007を指定している

    • .NET Framework連携の場合、ConnectionStringプロパティのtuneparamキーワードの、SQL_LEVELパラメタに、 SQL2007を指定している

    • 環境変数RDBLSQLに、SQL2007を指定している

非互換1

従来正常終了していたSQL文を実行した場合、アプリケーションにエラーメッセージが返却されます。

対処方法1

以下のいずれかの対処を行ってください。

対処1

SQL文に指定した利用者定義のファンクションルーチンにスキーマ名修飾を行ってください。

対処2

以下のいずれかの方法でアプリケーションの予約語のレベルをSQL2000に設定してください。ただし、アプリケーションの予約語のレベルをSQL2000にした場合は、SQL2007でサポートしている機能は利用できません。

  • 埋込みSQL連携の場合、クライアント用の動作環境ファイルのSQL_LEVELパラメタに、SQL2000を指定してください。

  • Java連携の場合、以下のいずれかの処置を行ってください。

    • ctuneparamオプションのCLI_SQL_LEVELパラメタに、SQL2000を指定してください。

    • クライアント用の動作環境ファイルのSQL_LEVELパラメタに、SQL2000を指定してください。

  • ODBC連携の場合、ODBCデータソースのその他パラメタの、CLI_SQL_LEVELパラメタに、SQL2000を指定してください。

  • .NET Framework連携の場合、ConnectionStringプロパティのtuneparamキーワードの、SQL_LEVELパラメタに、 SQL2000を指定してください。

  • 環境変数RDBLSQLに、SQL2000を指定してください。

非互換2

識別子としてROWNUMを指定したSQL文を実行した場合、アプリケーションにエラーメッセージが返却されます。

対処方法2

以下のいずれかの対処を行ってください。

対処1

ROWNUMを二重引用符で囲んで実行してください。

キーワードを二重引用符で囲むことで、キーワードではなく識別子として実行できます。

対処2

以下のいずれかの方法でアプリケーションの予約語のレベルをSQL2000に設定してください。ただし、アプリケーションの予約語のレベルをSQL2000にした場合は、SQL2007でサポートしている機能は利用できません。

  • 埋込みSQL連携の場合、クライアント用の動作環境ファイルのSQL_LEVELパラメタに、SQL2000を指定してください。

  • Java連携の場合、以下のいずれかの処置を行ってください。

    • ctuneparamオプションのCLI_SQL_LEVELパラメタに、SQL2000を指定してください。

    • クライアント用の動作環境ファイルのSQL_LEVELパラメタに、SQL2000を指定してください。

  • ODBC連携の場合、ODBCデータソースのその他パラメタの、CLI_SQL_LEVELパラメタに、SQL2000を指定してください。

  • .NET Framework連携の場合、ConnectionStringプロパティのtuneparamキーワードの、SQL_LEVELパラメタに、 SQL2000を指定してください。

  • 環境変数RDBLSQLに、SQL2000を指定してください。