ADO Migration wizard error

Discussion of open issues, suggestions and bugs regarding SDAC (SQL Server Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
FerCastro
Posts: 47
Joined: Mon 26 Jun 2006 17:32
Location: México City
Contact:

ADO Migration wizard error

Post by FerCastro » Fri 28 Nov 2008 00:28

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

Dimon
Devart Team
Posts: 2885
Joined: Mon 05 Mar 2007 16:32

Post by Dimon » Mon 01 Dec 2008 08:40

If you have installed only TVirtualTable component you should uninstall it. Also try to reinstall SDAC.

FerCastro
Posts: 47
Joined: Mon 26 Jun 2006 17:32
Location: México City
Contact:

Post by FerCastro » Mon 01 Dec 2008 15:51

Hello Dimon,

Thanks a lot for your response. I have reinstalled SDAC and VTable, and the error message is still there.

Thanks

FCG

Dimon
Devart Team
Posts: 2885
Joined: Mon 05 Mar 2007 16:32

Post by Dimon » Tue 02 Dec 2008 13:10

You should not to install VTable. SDAC build contains the TVirtualTable component too.

FerCastro
Posts: 47
Joined: Mon 26 Jun 2006 17:32
Location: México City
Contact:

Post by FerCastro » Tue 02 Dec 2008 15:19

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

Dimon
Devart Team
Posts: 2885
Joined: Mon 05 Mar 2007 16:32

Post by Dimon » Wed 03 Dec 2008 10:44

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.

FerCastro
Posts: 47
Joined: Mon 26 Jun 2006 17:32
Location: México City
Contact:

Post by FerCastro » Tue 13 Jan 2009 18:44

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

Dimon
Devart Team
Posts: 2885
Joined: Mon 05 Mar 2007 16:32

Post by Dimon » Wed 14 Jan 2009 09:03

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;

Dimon
Devart Team
Posts: 2885
Joined: Mon 05 Mar 2007 16:32

Post by Dimon » Wed 14 Jan 2009 09:17

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.

Post Reply