PDA

Ver la Versión Completa : Averiguar la versión de un .fdb


Cañones
19-04-2013, 18:40:17
Hola a todo. Estuve buscando, poco realmente, y quiero saber que versión se DB es un archivo .fdb.
El tema es que venía trabajando con la versión 2.1 y ahora pasé a 2.5. Esto lo hago haciendo un backup y restableciendo la DB.
Esto está bien? como hago para saber que la DB ahora es 2.5?
Gracias por su tiempo y saludos a todos.

ecfisa
20-04-2013, 02:19:41
Hola cañones.

Podes obtener la versión de este modo:

SELECT RDB$GET_CONTEXT('SYSTEM','ENGINE_VERSION') AS VERSION
FROM RDB$DATABASE;


Saludos.

Cañones
20-04-2013, 22:48:25
Gracias por la pronta respuesta.
Esta consulta me da el siguiente error.
Invalid namespace name system passes to RDB$GET_CONTEXT
Saludos

ecfisa
20-04-2013, 23:14:53
Hola Cañones.

Es extraño, no tendría que darte error siendo que la función RDB$GET_CONTEXT() (http://www.firebirdsql.org/refdocs/langrefupd20-get-context.html) es soportada desde la version 2.0 y comentas que estas usando las versiones 2.1 y 2.5.

La consulta la había realizado desde el IBExpert así que, por si acaso, hice la prueba desde Delphi y también funciona correcto:

function GetFirebirdVer(aIBQuery: TIBQuery): string;
begin
with aIBQuery do
begin
Close;
SQL.Clear;
SQL.Add('SELECT RDB$GET_CONTEXT(:NAMESPACE,:VARNAME) AS VERSION');
SQL.Add('FROM RDB$DATABASE;');
ParamByName('NAMESPACE').AsString := 'SYSTEM';
ParamByName('VARNAME').AsString := 'ENGINE_VERSION';
Open;
Result := FieldByName('VERSION').AsString;
Close;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage('Firebird ver.: ' + GetFirebirdVer(IBQuery1));
end;


Saludos.