Jump to content

adyble

Members
  • Content Count

    13
  • Joined

  • Last visited

Posts posted by adyble


  1. Hi

    I'm having exactly the same problem - I've simplified my process for the purpose of this post - 

     

    QryChart.Sql.Text := 'SELECT CHARTSERIES, TOTAL, CHARTDATE FROM ORDERS' ;

    QryChart.Open ;

     

    memChartData.Close ;
    memChartData.Indexes.Clear;
    memChartData.IndexDefs.Clear;

    memChartData.Fields.Clear;
    memChartData.FieldDefs.Clear;

    memChartData.CopyDataSet(dmData.QryChart, [coStructure, coRestart, coAppend]);

     

    So far, no problem. Then

     

    QryChart.Close ;

    QryChart.Sql.Text := 'SELECT CHARTSERIES, TOTAL FROM ORDERS' ;

    QryChart.Open ;

     

    memChartData.Close ;
    memChartData.Indexes.Clear;
    memChartData.IndexDefs.Clear;

    memChartData.Fields.Clear;
    memChartData.FieldDefs.Clear;

    memChartData.CopyDataSet(dmData.QryChart, [coStructure, coRestart, coAppend]);

     

    It fails on CopyDataSet with the message CHARTDATE object not found, so it clearly hasn't removed that field form the defs.

     

    Thanks for any advice.

    Andy

     


  2. Hi

     

    Thanks for your answer. Just to confirm, I am very experienced with Firedac and Delphi form a point of connections without SSL.

    This is purely an SSL related issue. I have it working fine in a 64bit application however I don't want to change these existing apps form 32 bit just yet.

     

    In theory using the 32bit SSL DLLs should work but it just gives this error - 

     

    [FireDAC][Phys][MySQL] SSL connection error: unknown error number.

     

    Has anyone got an example of it working ?

    Thanks

     


  3. Hello

    Trying to use Firedac to connect to to a remote Mysql server using SSL in a Delphi application. We can so it fine if the application is 64bit but we want to keep this system 32bit for the time being.

    Devart's MyDAC will handle it but I think the issue if with FireDAC rather than Mysql or the DLLs we are using. I would rather keep with FireDAC tha  change everythng to MyDAC as well.

     

    Anyone had any experience of achieving this ?

     

    The helpful error is - 

     

    ---------------------------
    sqlssl
    ---------------------------
    [FireDAC][Phys][MySQL] SSL connection error: unknown error number.
    ---------------------------
    OK   
    ---------------------------

     

    Thanks

    Andy


  4. Hi All

    We have a specific requirement on some MySql tables using Firedac and Delphi 10.3 to lock records at the point of issuing a .Edit command for the FDQuery.

     

    If we set UpdateOptions -

    Lockmode = ImPessimistic

    LockPoint - lpImmediate

    LockWait - False

     

    then all records are locked and not just the record I am editing. I cannot actually retrieve a "Lock" waring or error so having to trap this message :

     

          if E.Message = '[FireDAC][Stan]-700. Timeout expired' then //locked by a user or best guess at the moment

     

    It's the only one that seems to ever get returned.

     

    How does anyone else do it ?

    Thanks

    Andy

     


  5. On 8/24/2021 at 7:54 AM, Lars Fosdal said:

    /off-topic: My mind boggles at the thought of a table without a primary key...

    Hi Lars

    We performed a lot of tests. 9.7 million records, via remote TCP to a Linux server in a datacentre. Most queries were "Like" on a large field. 5 users performing queries at the same time. There was virtually no difference is speed or load on the server. Maybe our apps aren't very data hungry.  We since changed from Firebird to MySql and they are even faster.  The data was returned in Msecs every time.  We don't have a PK index but we do use a GUID for every record as an additional identifier.

    I was very surprised (and pleased) with these results. It's very rare for our tables to have more than 100,000 records and 5 users.

    Andy


  6. Hi

    Using FireDac Firebird to query a dataset of a few thousand records and scroll to bottom or press End on DBGrid it is really slow, maybe 10 seconds. After that it scrolls fine.

     

    I've tried all the fetch options I can but seems to issue a FetchAll whenever this happens.

     

    Advantage database server just skips instantly to the end and I've just been testing MySql and that is also instant. Is Firebird not capable of this or I have just got some settings wrong ?

     

    Now, I know some people will say why do you need to display thousands of records in a grid, but they just do and we can't take it away from them 🙂

     

    Delphi 10.3 FB 3

     

    Thanks

    Andy

     


  7. I didn't show it at first in case anyone had seen before.

     

    It was simply that after the first .Post it does a fetchAll, but after that all records are fetched so doesn;t need to do it again.

    Changing fetch option  - AutoFetchAll to Truncate solved it but I am not sure what Truncate does, so will have to see what effect it has.

    We manage the PK another way to not get duplicates and maintain sequences. We have more control our way. Never used one in 30 years.


  8. Hi all

     

    I have a strange on. We are new to FireDAC and Firebird. We have a simple Table, 20k records opened with an FDquery.

     

    RAD studio 10.3, Firebird 3

     

    select * from jobs

     

    fetches 50 records so very quick.

     

    we use FDQuery.Insert , fill in the data and then FDQuery.Post

     

    The first time , its really slow, nearly 10 seconds, every other insert and post after that is instant. It only goes slow again after a program restart.

    I am guessing there are so many options on the FDQuery that something will need tweaking. This is any table, any number of records from 10 to 20k

    There are no indexes, PK etc . just to keep it simple to test.

    I created a test app if anyone has any ideas.

     

    Thanks

    Andy

     

     

×