Jump to content

Hans J. Ellingsgaard

  • Content Count

  • Joined

  • Last visited

Community Reputation

1 Neutral

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Hans J. Ellingsgaard

    Copy Sqlite DB to tethered app

    You can use FDMemTables, they can load and save from streams, files and other datasets.
  2. Hans J. Ellingsgaard

    Best site/source for SQL Server questions?

    Yes, I can see that from your link. It came as a surprice to me, as I am mostly used to work with IB and Firebird databases. There is at NOLOCK isolationlevel, that will minimize risk of locking, but it will not be suitable, if there is a risk of data being changed during the execution of the query. Another thing to do is to make sure that all the fields in the where clause and the joins are indexed to avoid tablescans.
  3. Hans J. Ellingsgaard

    Best site/source for SQL Server questions?

    It sounds strange. You should never get a lock on a read only query. If you have many concurrent users, you could have drop of performance, but not locks.
  4. Hans J. Ellingsgaard

    Version Control System

    Bitbucket is a great versioning system based on git. You can have 5 users for free, so you can always give it a try. It works well with Sourcetree as a client. It,s also easy to integrate with Jira.
  5. Hans J. Ellingsgaard

    any suggestions on how to "lazy load" a BLOB/CLOB from Oracle DB?

    You can do it with two queries. Make one query that select's all the fields that you want in the grid (don't use "select *", use the wanted fieldnames instead). Then make another query with a parameter that select's the clob field for one record only. Like this: select [clob field] from [table name] where [Primary Field ID] = :ParameterName Then you open the second query after the first query has entered the wanted record. The parameter will get it's value from the first query. There might be an event on the grid you can use - I don't know the DevEx grid. You can also use the AfterScroll event of the dataset to open the second query. If you use the second approach, you will need to have a delay on the opening of the second query, or it will open after all scrolled records. You can use a timer to have a small delay. Disable it on the BeforeScroll event and enable it on the AfterScroll event. The delay should just be long enough to make shure that it is not triggering while the user is scrolling.
  6. Hans J. Ellingsgaard

    Delphi Tokyo - Is FDConnection manager broken ? - Need advice connecting MsSQL DB

    If your sql server is not on the same machine as your client, it might be that you don't have the right sql driver verison. Look into the ODBC Data Source Administrator for what version of sql driver you have. E.g for a SQL server 2008 you need at least a version 10.00. I'm not sure wich version you need for server 2012, but it is probably at bit higher than that. You can download the correct version from Microsoft.
  7. Hans J. Ellingsgaard

    General DB access question -- paging query results

    Livebingings will not make any difference here. It's the design of your queries, and your database components, that will make all the difference.
  8. Hans J. Ellingsgaard

    General DB access question -- paging query results

    If you get an error that says data field is missing, it's because some of the fields that you excluded from your query are connected to a dataaware component. The easiest way to find that component is to search for the field directly in the dfm file, and there you can see wich component they are assigned to.
  9. Hans J. Ellingsgaard

    General DB access question -- paging query results

    Your problem has nothing to with with Delphi, and C#/.net can not handle it any better. If you are using BDE, you will need to switch to FireDac. FireDac datasets has parameters for how many records to load at a time. A good advice is also not to use 'select * ', but instead use 'select fieldname from'. FireDac is really fast and can easily handle db's with million og records.
  10. Hans J. Ellingsgaard

    Advice on starting to work with databases

    it was not an assumtion. It's at copy/paste from the sqlite.org webpage.
  11. Hans J. Ellingsgaard

    Advice on starting to work with databases

    Here is what SQLite says on it's own webpage sqlite.org: Many concurrent writers? → choose client/server If many threads and/or processes need to write the database at the same instant (and they cannot queue up and take turns) then it is best to select a database engine that supports that capability, which always means a client/server database engine. SQLite only supports one writer at a time per database file. Why not choose a DBMS when there are lots of them to choose from for free? You also get extra features like live backup and replication for free. But as stated by someone else before, if you carefully design your interface between your database and restserver, it's not to much work switching database on a later stage.
  12. Hans J. Ellingsgaard

    Advice on starting to work with databases

    Don't use SQLite in a multiuser enviroment, go for a real RDBMS like Firebird, Interbase etc..