データベースinterbase/firebirdを使用するdelphiアプリケーションがあります。データを調べて書き込むには、InterBaseコンポーネントパレット(IBTable、IBQuery、IBDataset)を使用します。システムをsqlserver/Oracleに変換していますが、データベースInterBase/Firebirdに固有のSQL命令を使用して実行時にアセンブルされる数千のクエリがあります。解析コマンドをInterbase->SQLServerまたはInterbase->Oracleにするコンポーネントまたはツールを知っている人はいますか?
私が必要としているもの:
Var
Parser: TParser;
OutputSql: String;
Begin
Parser := TParser.Create();
Parser.Text := 'SELECT FIRST 10 CITYNAME FROM TBCITY';
if Firebird then
OutPutSql := Parser.ParseTo('SQLSERVER');
if Oracle then
OutPutSql := Parser.ParseTo('ORACLE');
ComponentAccess.Sql.Text := OutPutSql;
...
結果として:
Parser.ParseTo('SQLSERVER');
になります
「TBCITYからトップ10の都市名を選択」
と
Parser.ParseTo('ORACLE');
になります
'SELECT CITYNAME FROM TBCITY WHERE ROWNUM <= 10'