我有一个使用数据库 interbase / firebird 的 delphi 应用程序。为了查阅和写入数据,我使用 InterBase 组件面板(IBTable、IBQuery、IBDataset)。我正在执行我的系统到 sqlserver/Oracle 的转换,但是我有数千个查询在运行时使用数据库 InterBase/Firebird 的特定 SQL 指令组装。任何人都知道制作 Parse 命令 Interbase -> SQL Server 或 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 中选择 TOP 10 城市名'
和
Parser.ParseTo('ORACLE');
将会
'从 ROWNUM <= 10 的 TBCITY 中选择城市名'