我有一個delphi應用程序,它使用數據庫 interbase/firebird。爲了諮詢和寫入數據,我使用了InterBase組件面板(IBTable,IBQuery,IBDataset) 。我是 執行我的系統到sqlserver/Oracle的轉換,但我有 成千上萬的查詢在運行時與SQL指令 特定的數據庫InterBase/Firebird。任何人都知道 任何組件或工具,使Parse命令Interbase - > SQL Server或Interbase->甲骨文?德爾福Interbase SQL轉換爲SQL Server和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');
將
'SELECT TOP 10 CITYNAME FROM TBCITY'
而且
Parser.ParseTo('ORACLE');
將
'SELECT CITYNAME FROM TBCITY WHERE ROWNUM < = 10'