お世話になっております。
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パラメータが使用できないなどの、
なにか条件があるのでしょうか? 文字列の渡し方などに問題があるのでしょうか?
ご教示よろしくお願いいたします。