変更内容
V10.1.0では、アプリケーションの予約語のレベルの省略値がSQL2007になります。これにともない、V10.1.0以降では、以下の条件をすべて満たす場合、CREATE FUNCTION文で定義したファンクションルーチンが動作しません。
以下の表に示す文字列と同名のファンクションルーチンを定義している
対象の文字列 |
---|
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 |
SQL文に上記のファンクションルーチンを指定し、そのルーチン名にスキーマ名修飾を行っていない
アプリケーションの予約語のレベルを設定していない、または以下のいずれかで設定している
埋込み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
以下のいずれかの対処を行ってください。
SQL文に指定した利用者定義のファンクションルーチンにスキーマ名修飾を行ってください。
以下のいずれかの方法でアプリケーションの予約語のレベルを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
以下のいずれかの対処を行ってください。
ROWNUMを二重引用符で囲んで実行してください。
キーワードを二重引用符で囲むことで、キーワードではなく識別子として実行できます。
以下のいずれかの方法でアプリケーションの予約語のレベルを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を指定してください。