Results 1 to 21 of 21

Thread: firedac Control OCX FOR VB6, Faster than Microsoft ADO

  1. #1

    Thread Starter
    PowerPoster
    Join Date
    Jan 2020
    Posts
    3,749

    firedac Control OCX FOR VB6, Faster than Microsoft ADO

    I heard from a friend that the control version is free, and the static compilation of the LIB version is charged. Who has written the code that VB calls?

    Home | SQLAPI++
    https://www.sqlapi.com/

    delphi FireDAC, ADO performance test
    http://www.delphitop.com/html/shujuku/5713.html

    Code:
    uses
      FireDAC.Comp.Client, FireDAC.Stan.Intf;
    var
      oDef: IFDStanConnectionDef;
    begin
      oDef := FDManager.ConnectionDefs.AddConnectionDef;
      oDef.Name := 'MSSQL_Connection';
      oDef.DriverID := 'MSSQL';
      oDef.Server := '127.0.0.1';
      oDef.Database := 'Northwind';
      oDef.OSAuthent := True;
      oDef.MarkPersistent;
      oDef.Apply;
      .....................
      FDConnection1.ConnectionDefName := 'MSSQL_Connection';
      FDConnection1.Connected := True;
    end;

  2. #2

    Thread Starter
    PowerPoster
    Join Date
    Jan 2020
    Posts
    3,749

    Re: firedac Control OCX FOR VB6, Faster than Microsoft ADO

    Data volume 20000 rows, 30 fields

    First open
    FD takes 363 milliseconds to read data, while ado takes 783 milliseconds to read data
    Second open
    FD takes 10 milliseconds to read data, while ado takes 553 milliseconds

    Traverse all records

    first
    FD takes 2438 milliseconds to read data, while ado takes 5590 milliseconds
    the second time
    FD takes 1988 milliseconds to read data, while ado takes 5548 milliseconds
    the 3rd time
    FD takes 363 milliseconds to read data, while ado takes 783 milliseconds
    FD takes 363 milliseconds to read data, while ado takes 783 milliseconds

  3. #3
    Addicted Member sergeos's Avatar
    Join Date
    Apr 2009
    Location
    Belarus
    Posts
    162

    Re: firedac Control OCX FOR VB6, Faster than Microsoft ADO

    The SQLAPI++ library is distributed as shareware. You can use trial version for evaluation purposes only.
    from $300 to $900
    Ten Years After - 01 You Give Me Loving

  4. #4
    PowerPoster
    Join Date
    Jun 2013
    Posts
    7,255

    Re: firedac Control OCX FOR VB6, Faster than Microsoft ADO

    Quote Originally Posted by xiaoyao View Post
    FD takes 363 milliseconds to read data, while ado takes 783 milliseconds
    That's nonsense of course (without showing any code and/or the test-setup).

    Olaf

  5. #5

    Thread Starter
    PowerPoster
    Join Date
    Jan 2020
    Posts
    3,749

    Re: firedac Control OCX FOR VB6, Faster than Microsoft ADO

    delphi FireDAC, ADO performance test
    http://www.delphitop.com/html/shujuku/5713.html

    The blogs posted by others are definitely not casual. It's just that he didn't keep the complete source code.
    If some people need high-performance reading data, modify the database, maybe change a programming language or write an interface is also good

    microsoft never based on performance as the highest criterion. For example, IE11 takes 7 seconds to execute JS calculation, while Google V8 only takes about 1.5 seconds to invoke JS.
    It is also possible that some algorithms written by DELPHI are faster than VC++.
    Microsoft's ADO and ODBC mainly take into account versatility and standardization, so many details must be sacrificed. Pure SQLITE may be faster than ACCESS and faster to read and write than SQL SERVER.

    But this is a control or object of DELPHI, DELPHI may be slower to operate ADO than firedac.
    DELPHI is compared with VC++, VB6, VB.NET's ADO.NET. It is hard to say that compared with multiple languages, this requires talents who understand these programming languages at the same time.
    Last edited by xiaoyao; Aug 18th, 2021 at 11:06 PM.

  6. #6
    PowerPoster
    Join Date
    Jun 2013
    Posts
    7,255

    Re: firedac Control OCX FOR VB6, Faster than Microsoft ADO

    Quote Originally Posted by xiaoyao View Post
    delphi FireDAC, ADO performance test
    http://www.delphitop.com/html/shujuku/5713.html

    ... It's just that he didn't keep the complete source code.
    You've put that link already into your first post -
    and it is still non-sensical (entirely pointless) without the Test-code and the used Test-Setup.

    Information, not verifyable by others, cannot be called that... it's just "noise".

    Olaf

  7. #7

    Thread Starter
    PowerPoster
    Join Date
    Jan 2020
    Posts
    3,749

    Re: firedac Control OCX FOR VB6, Faster than Microsoft ADO

    The fastdb memory database has the source code of DELPHI. It would be great if someone could compile it into a DLL for VB6.
    After searching the knowledge of firedac for a few days, I found that it is a built-in control of DELPHI. It would be convenient if it can be compiled into a general OCX control for other programming languages.

    Of course, maybe no one will do such a thing at all. Although IE is very slow, it took 20 years for someone to do something about Google's kernel control instead of webbrowser.
    Most people are satisfied with the speed of reading and writing databases. Even if the speed can be increased by 10-30%, few people want to use other programming languages to write DLLs.

  8. #8
    PowerPoster
    Join Date
    Jun 2013
    Posts
    7,255

    Re: firedac Control OCX FOR VB6, Faster than Microsoft ADO

    Quote Originally Posted by xiaoyao View Post
    The fastdb memory database ...
    It would be great if someone could compile it into a DLL for VB6.
    Why would anybody want to do that, when there's already a fast and conveniently usable MemDB-wrapper available for VB6?

    I've addressed the "FastDB vs. SQLite-MemDB" performance already (with concrete TestCode!) -
    in posting #2 in this thread here: https://www.vbforums.com/showthread....=1#post5477623

    The result was, that VB6 + SQLite is actually faster than "FastDB".

    I wonder, when you will actually start using the fast tools we already have available for VB6,
    (for something concrete) ... instead of "searching for some holy grail" with regards to perfomance via pointless micro-benchmarks.

    Olaf

  9. #9

    Thread Starter
    PowerPoster
    Join Date
    Jan 2020
    Posts
    3,749

    Re: firedac Control OCX FOR VB6, Faster than Microsoft ADO

    sqlite MemDB ,only like ramdisk.

    fastdb ,it's not use disk io

  10. #10
    PowerPoster
    Join Date
    Jun 2013
    Posts
    7,255

    Re: firedac Control OCX FOR VB6, Faster than Microsoft ADO

    Quote Originally Posted by xiaoyao View Post
    sqlite MemDB ,only like ramdisk.
    Wrong: https://www.sqlite.org/inmemorydb.html

    Quote Originally Posted by xiaoyao View Post
    fastdb ,it's not use disk io
    Wrong as well.
    Similar to SQLite, FastDB allows "both modes" (File-based and InMemory-based):

    From: http://www.garret.ru/fastdb/FastDB.htm#database

    The database can be opened by the open(char const* databaseName, char const* fileName = NULL, unsigned waitLockTimeout = INFINITE) method. If the file name parameter is omitted, it is constructed from the database name by appending the ".fdb" suffix.

    Olaf

  11. #11

    Thread Starter
    PowerPoster
    Join Date
    Jan 2020
    Posts
    3,749

    Re: firedac Control OCX FOR VB6, Faster than Microsoft ADO

    .net framework Developed Program,Slow startup, It can be easily decompiled. Running speed is slow.
    Vb6 has an obvious advantage when it comes to developing small tools.

    When developing a lot of small tools, the main program is only a total of 100kb, rc6.dll need about 5 megabytes, so it takes up a lot of space.

    VB6 CCR, instead of Microsoft Enterprise Edition Control.The whole also needs 5mb.
    need 200kB for a textboxw.

    Therefore, in many cases, some independent functions, or just modules, are needed.

    Is there any way to put a 20 control of the overall project only to extract a control of the source.

    Last time, in order to get a support for UNICODE text box, the result is to remove a lot of redundant code or copy spent a lot of time.

    Copy the control first. Then copy those missing structure types, as well as other API module functions.

    Is there any way to a project redundant modules, functions automatically deleted.
    Last edited by xiaoyao; Aug 19th, 2021 at 04:26 PM.

  12. #12
    PowerPoster
    Join Date
    Jun 2013
    Posts
    7,255

    Re: firedac Control OCX FOR VB6, Faster than Microsoft ADO

    Quote Originally Posted by xiaoyao View Post
    When developing a lot of small tools, the main program is only a total of 100kb, rc6.dll need about 5 megabytes, so it takes up a lot of space.
    Nope, in our company we have exactly that scenario (a lot of self-developed small tools, many of them based on RC5/RC6) -
    and we have the RC-libs installed exactly once (5MB per Dev-machine, in a single, dedicated Folder).

    Olaf

  13. #13

    Thread Starter
    PowerPoster
    Join Date
    Jan 2020
    Posts
    3,749

    Re: firedac Control OCX FOR VB6, Faster than Microsoft ADO

    Perhaps this is why the. Net framework is so popular。
    And python.The program may be 100 megabytes.But he can freely download hundreds or thousands of modules. Plug-in.

    Although the overall installation package is relatively large, it contains a large number of functions that can be used in common. Reduce compilation time and development time.

    msvbvm60.dll,mfc,rc6.dll

    Mini version of VB6 entire program. Only 10mb,Contains the basic Enterprise Edition controls

    Mini version of SQL server 2008, only 30 MB.(The full installation version is 500mb)

    Mini version of office 2007, 80mb (full version requires 800mb.)

    This is just the size of the installation package.After decompression, the volume will increase by 5 to 10 times.

  14. #14
    PowerPoster Arnoutdv's Avatar
    Join Date
    Oct 2013
    Posts
    5,909

    Re: firedac Control OCX FOR VB6, Faster than Microsoft ADO

    What has this all to do with your original question?
    All your threads derail in nonsense, caused by you

  15. #15

    Thread Starter
    PowerPoster
    Join Date
    Jan 2020
    Posts
    3,749

    Re: firedac Control OCX FOR VB6, Faster than Microsoft ADO

    I want to have a faster dynamic link library to read or modify the database.Delphi, it is estimated that can be done.
    For example, modifying a MySQL database may require only a dynamic library.You do not need to install the oDBC driver or the ado.

    Sometimes ,I want to find a library that runs fast and does not require installation.

    The full version of the vb6 installer is around 200 megabytes.The installation may take up 600 mb,Installation time is 5 minutes.
    The simplified version of the installation takes up only 30 mb.Installation time is 10 seconds.

    The train of thought is confused.
    That is, there are many times,i need something that is less dependent, smaller in size and faster in operation.
    Last edited by xiaoyao; Aug 19th, 2021 at 05:27 PM.

  16. #16
    PowerPoster
    Join Date
    Jun 2013
    Posts
    7,255

    Re: firedac Control OCX FOR VB6, Faster than Microsoft ADO

    Quote Originally Posted by xiaoyao View Post
    I want to have a faster dynamic link library to read or modify the database.
    Then SQLite is a decent recommendation...
    (to my knowledge, this is the best compromise between features, stability, lib-size and speed you can get).

    Quote Originally Posted by xiaoyao View Post
    For example, modifying a MySQL database may require only a dynamic library.You do not need to install the oDBC driver or the ado.
    If you want to work more directly with MySQL (or MariaDB), then the so called C-connector-libs are used.
    But... surprise... even without any ODBC- or OLEDB-driver baggage, the size of its Win32-installer is ~12MB:
    https://dlm.mariadb.com/browse/c_connector/169/1115/

    What you then have (in a package 4 times as large as the RC6), is only the Client-Connector (not the Server) -
    aside from that, SQLite outperforms MySQL in nearly all disciplines.

    Quote Originally Posted by xiaoyao View Post
    Sometimes ,I want to find a library that runs fast and does not require installation.
    Deploying a COM-Dll without registration (alongside your App) is possible for decades now.
    Please inform yourself...
    ... in case of the RichClient - this regfree deployment is built-in already (via DirectCOM.dll) and only requires a drop-in *.bas module to work.

    Olaf

  17. #17

    Thread Starter
    PowerPoster
    Join Date
    Jan 2020
    Posts
    3,749

    Re: firedac Control OCX FOR VB6, Faster than Microsoft ADO

    connector-c-3.2.4/mariadb-connector-c-3.2.4-win32.msi 12.5 MB,it's clinet dll?

    Maybe the decompression volume is still relatively large (58MB) , if you don’t need to install it, it’s also convenient to call the DLL directly.
    I have tested the MYSQL ODBC driver, and it cannot be recorded in the Chinese directory or the current record with UNICODE characters. The automatic installation of the code command line is still very fast.
    After the installation is complete, use ADO to connect and test


    MYSQL ODBC ZIP IS 17.2MB, Occupy hard disk after ZIP decompression:60mb size:

    strCn = "DRIVER={MySQL ODBC 8.0 Unicode Driver};" & _
    "SERVER=" & db_host & ";" & _
    "DATABASE=" & db_data & ";" & _
    "UID=" & db_user & ";PWD=" & db_pass & ";" & _
    "OPTION=3;stmt=SET NAMES GB2312"
    Last edited by xiaoyao; Aug 19th, 2021 at 08:44 PM.

  18. #18
    Frenzied Member
    Join Date
    Jun 2015
    Posts
    1,068

    Re: firedac Control OCX FOR VB6, Faster than Microsoft ADO

    This discussion is not complete without talking about benchmarks of MongoDB.
    MongoDB is web scale.

    https://www.youtube.com/watch?app=desktop&v=HdnDXsqiPYo

  19. #19
    PowerPoster
    Join Date
    Jun 2013
    Posts
    7,255

    Re: firedac Control OCX FOR VB6, Faster than Microsoft ADO

    Quote Originally Posted by dz32 View Post
    LOL, met those guys far too often over the last decade...

    Olaf

  20. #20
    Banned
    Join Date
    May 2020
    Location
    https://t.me/pump_upp
    Posts
    42

    Re: firedac Control OCX FOR VB6, Faster than Microsoft ADO

    Quote Originally Posted by xiaoyao View Post
    I heard from a friend that the control version is free, and the static compilation of the LIB version is charged. Who has written the code that VB calls?

    Home | SQLAPI++
    https://www.sqlapi.com/

    delphi FireDAC, ADO performance test
    http://www.delphitop.com/html/shujuku/5713.html

    Code:
    uses
      FireDAC.Comp.Client, FireDAC.Stan.Intf;
    var
      oDef: IFDStanConnectionDef;
    begin
      oDef := FDManager.ConnectionDefs.AddConnectionDef;
      oDef.Name := 'MSSQL_Connection';
      oDef.DriverID := 'MSSQL';
      oDef.Server := '127.0.0.1';
      oDef.Database := 'Northwind';
      oDef.OSAuthent := True;
      oDef.MarkPersistent;
      oDef.Apply;
      .....................
      FDConnection1.ConnectionDefName := 'MSSQL_Connection';
      FDConnection1.Connected := True;
    end;
    1/ You can refer to the following link For FireDAC
    http://delphiprogrammingdiary.blogsp...omponents.html
    https://docwiki.embarcadero.com/RADS...ney/en/FireDAC
    2/ The following link is the sample code of Delphi ... which includes many things ... if you install Delphi, the default will have that sample code when installing and selecting Samples
    https://github.com/Embarcadero/RADStudio10.4Demos

    3/ From Delphi 10 and earlier, if you use SQLite, you must attach the Files SQLite3.dll ... and the latest Delphi versions are no longer needed, there are Units in which just Uses and uses it.

    4/ I'm using Delphi 10.2 community edition to learn... If you're interested, go to Delphi's website and sign up for the free community edition.

    5/ I'm passionate about VB6 ... but besides that step by step I've been learning Delphi for almost 2 years now, I also know how to write some API functions used for VBA Excel and VB6 call it ... when I master Delphi, I will share it with you. quit VB6 because VB6 has long been no longer supported + when writing EXE application it gives a Virus warning and I don't know why ??!!
    ...
    My English is too good... Google translate so the sentences are incorrect, please forgive me

  21. #21

    Thread Starter
    PowerPoster
    Join Date
    Jan 2020
    Posts
    3,749

    Re: firedac Control OCX FOR VB6, Faster than Microsoft ADO

    I am making a tool similar to a multi-function timer. If 20 items are added for timing, there is a column that needs to be refreshed every second, and the display time takes +1.
    In the past, the record set was bound to the table control, the start time was compared with the current time, the elapsed time of each row was displayed, and then RS.REQUERY.

    After reading your suggestions, I think that you should not bind the database (or copy the table data to the memory) and directly use the pure unit format, add N rows, delete rows, modify the sort, refresh once per second, and only update the elapsed time. Column. There is a primary key column ID, which can be synchronized to the database after the table control is modified.

    The main problem now is how to modify the sort order of the table control, first, last, one row forward, and one row backward.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width