PISQL : SQLパラメータ

お世話になっております。

 

PISQLClientの JDBCドライバを使用して、SQL文によるPIデータアクセスを検討しております。

一般のJDBCドライバに対応したアプリケーションや、自分でJAVAで作成したテストプログラムから

SQLパラメータを使用したSQL文によるデータ取得を試みましたが、正しく検索できるものと

検索結果が0件になるものがありました。

 

例えば、

select a.Element, a.Name Attribute, sv.TimeStamp, sv.Value, sv.Error

 

From Master.Element.Attribute a

 

CROSS APPLY Master.Element.GetSampledValues(a.ID, 'y','t','1h') sv

 

WHERE a.Element = ? AND a.Name = ?

(※ ?がSQLパラメータです。String型で渡しています。)

 

というSQL文では、SQLパラメータを使用しない場合はデータが検索されますが、

SQLパラメータを使用した場合は検索結果が0件になります。

 

一方で

SELECT ef.Name Procedure, ef.StartTime, ef.EndTime, a.Name Attribute, TimeStamp, Value, Error

 

FROM Master.EventFrame.EventFrame ef INNER JOIN Master.EventFrame.Attribute a

 

ON a.EventFrameID = ef.ID WHERE ef.Template = ? AND ef.StartTime

 

BETWEEN ? AND ?

(※ ?がSQLパラメータです。String型で渡しています。)

 

というSQL文では、正しく検索がされました。時刻はy, tや、SQL時刻書式の文字列どちらでも大丈夫でした。

 

GetSampledValuesなどの関数を使用している場合にはSQLパラメータが使用できないなどの、

なにか条件があるのでしょうか? 文字列の渡し方などに問題があるのでしょうか?

ご教示よろしくお願いいたします。

Parents
  • 追加情報です。

     

    検索には java.sql.PreparedStatementクラスのexecuteQuery()メソッドを実行しています。

     

    PISQL ClientのJDBDドライバのバージョン:4.1.19143.1

    DBMS製品名:PI SQL Data Access Server (RTQP Engine) 2018 SP2, 1.7.19087.2

     

    バージョン:AF: 2.10.5.9075

     

Reply
  • 追加情報です。

     

    検索には java.sql.PreparedStatementクラスのexecuteQuery()メソッドを実行しています。

     

    PISQL ClientのJDBDドライバのバージョン:4.1.19143.1

    DBMS製品名:PI SQL Data Access Server (RTQP Engine) 2018 SP2, 1.7.19087.2

     

    バージョン:AF: 2.10.5.9075

     

Children
No Data