Page 1 of 1
ADO Migration wizard error
Posted: Fri 28 Nov 2008 00:28
by FerCastro
Hello
I have one application with ADO and some virtual tables, and I ran the migration wizard to change to SDAC.
After the migration process I get the following error:
[DCC Error] MDatos.pas(6): F2051 Unit OLEDBAccess was compiled with a different version of MemData.TBlob
And i can not generate my exe file. What do I have to do to compile?
Thanks and best regards
Posted: Mon 01 Dec 2008 08:40
by Dimon
If you have installed only TVirtualTable component you should uninstall it. Also try to reinstall SDAC.
Posted: Mon 01 Dec 2008 15:51
by FerCastro
Hello Dimon,
Thanks a lot for your response. I have reinstalled SDAC and VTable, and the error message is still there.
Thanks
FCG
Posted: Tue 02 Dec 2008 13:10
by Dimon
You should not to install VTable. SDAC build contains the TVirtualTable component too.
Posted: Tue 02 Dec 2008 15:19
by FerCastro
Dimon,
I have tested with both scenarios: installing only SDAC and installing SDAC and VTable, and in both cases I get the same error message.
Thanks a lot for your answer
Posted: Wed 03 Dec 2008 10:44
by Dimon
In order to solve this problem execute the following steps:
- uninstall VirtualTable;
- uninstall SDAC;
- find all MemData.dcu, MemDS.dcu, MemUtils.dcu files on your PC and delete them;
- find all vtable*.bpl files on your PC and delete them;
- install SDAC.
Posted: Tue 13 Jan 2009 18:44
by FerCastro
Hello Dimon,
I have replaced all the components and the migration works fine, just two questions:
In my source I have the following code:
Code: Select all
Parameters.ParamByName('h1').Value := dsInicio1.Time;
Parameters.ParamByName('h2').Value := dsInicio2.Time;
Parameters.ParamByName('h3').Value := dsInicio3.Time;
Parameters.ParamByName('h4').Value := dsInicio4.Time;
But the code does not recognize my code. Is there an equivlent?
And the second one.
I have the following code:
Code: Select all
With DATA.qEditaSucursal do
Begin
Close;
SQL.Text := '';
SQL.Text := ' SELECT * from sucursal ' +
' WHERE Activo = ' + IntToStr(1) + cCadenaSucursales +
' ORDER BY NOMBRE';
Open;
End;
My table has only two records but with ADO connection the application displays data in 2 seconds, but with Devart Components the application displays data in 19!! (nineteen) seconds!! is this usual?
Best regards and thanks
- WXPSP2
- D2007W32
- SDAC 4.50
- MS SQLServer 2005
- Remote server
Fernando Castro
Posted: Wed 14 Jan 2009 09:03
by Dimon
FerCastro wrote:In my source I have the following code:
Code: Select all
Parameters.ParamByName('h1').Value := dsInicio1.Time;
Parameters.ParamByName('h2').Value := dsInicio2.Time;
Parameters.ParamByName('h3').Value := dsInicio3.Time;
Parameters.ParamByName('h4').Value := dsInicio4.Time;
But the code does not recognize my code. Is there an equivlent?
You should use the Params property instead of Parameters, like this:
Code: Select all
Params.ParamByName('h1').Value := dsInicio1.Time;
Posted: Wed 14 Jan 2009 09:17
by Dimon
FerCastro wrote:I have the following code:
Code: Select all
With DATA.qEditaSucursal do
Begin
Close;
SQL.Text := '';
SQL.Text := ' SELECT * from sucursal ' +
' WHERE Activo = ' + IntToStr(1) + cCadenaSucursales +
' ORDER BY NOMBRE';
Open;
End;
My table has only two records but with ADO connection the application displays data in 2 seconds, but with Devart Components the application displays data in 19!! (nineteen) seconds!! is this usual?
To solve the problem try to set the TMSQuery.FetchAll property to False or TMSQuery.UniDirectional property to True.