FireDac ApplyUpdates Bug on FDTable with CachedUpdate - delphi

I develop and application on Delphi 5 with BDE and never got any reclaim till I update to Delphi XE 10 I change my data Engine From BDE to Firedac. program is simple POS app make invoices , Invoice Table with Items table master-details. from time to time miss some invoices not specific but around 11 each 1000.
I start looking, checking and changing , i add Transaction component.. test same result later adding SchemaAdapter same result Till i figure out what is the problem
if the data Server running an statement in the same time what to run a different statement from another client on the same table here you can found the big bug on FireDac that the 2th client will appear that the data saved but in fact nothing saved
otherwise same scenario on BDE the result completely different the 2th client raise an error with message "Dead ... SQL " at least know that the data not saved
Hope some test that too , heavy SQL statement run it on the Server and try to insert on the table in CachUpdate -> and applyUpdate and will see the result
All Above use Interbase Database

This issue resolved in Delphi 10.3 , the Firedac engine work fine now

Related

Can't connect to SQL Server in Delphi 10.3

I just installed the community version of Delphi, Delphi 10.3
I want to use FireDAC in stead of ADO,
so I want to test connections to SQL Server using FireDac but it is a complete disaster.
I dropped a FDConnection component on the form, and want to configure it to use Sql Server
There I notice I can choose from many DriverNames but not MSSQL
Why is that ?
So I tried the FireDAC Explorer but this has even more mysteries.
I add a new Connection Definition and there I can use MSSQL, but I cannot save this definition.
The save and save as button are disabled.
So I enter all the parameters I need, and yes, it opens my SQL Server database. I can see all tables, views, procedures... And I can even open a table to see the first 10 rows.
Great, if I could only save this definition...
Everytime I open the FireDAC Explorer my new definition is still there, but all parameters are not stored. I have to enter them all every time again.
But, no problem I think. I copy the parameters from the working definition and paste it in the parameters from the FDConnection on my form.
The parameters look like this
User_Name=xx
OSAuthent=No
Server=123.456.789.987\GTT
Database=DB_Test
DriverID=MSSQL
Name=DB_Test
Hm, interesting. Now it does show MSSQL as drivername. So let's set the connection property to true.
Now I get this error (allthough this is working fine in FireDAC Explorer with these parameters)
[FireDAC][Phys]-300. Driver [MSSQL] is not registered. To register it,
you can drop component [TFDPhysMSSQLDriverLink] into your project.
Well alright, if that is all I need to do.
But, it seems I don't have the component TFDPhysMSSQLDriverLink
I have others for all kind of databases, but not this one.
It seems there is something missing, but the errors don't give me much of a clue
So I am hoping there is someone here that understand the errors and can help me to fix this
EDIT
I found this question here with an accepted answer, but I don't know how to use that answer. I have no clue how to use the License manager to register FireDAC

Table Updates Made in SQLiteStudio Not Recognized by iOS Mobile Application

I am working on a iOS mobile application using Xcode as the IDE and Swift as the language of choice. I added a column to the SQLite database that interacts with my application but unfortunately when I attempt to perform any database operations through the application the column is not recognized.
The following error is sent:
DB Error: 1 "table xyz has no column named column_name"
When I added the column I also increased the database version or user_version in SQLiteStudio.
Is there something else I should be doing to cause the application to recognize the changes? I know uninstalling and reinstalling would work but that is not an option of course as I cannot lose the data currently housed in the database. My other idea was to put all the data in temporary variables or something like that, drop and recreate the tables and reinsert the data. I wasn't sure if this was a good course of action though. Any help with this is appreciated.

SQL Server 2012 Stored procedure is getting deleted automatically

I am having a strange problem. One of my stored procedure is getting dropped automatically.
Its not that I am creating it in a wrong place. Every time I create the SP and execute my web page, it shows. After few min, if I execute the page again, it displays a error message which is due to missing SP.
I have tried recreating again and again, and everytime it repeats. I even did restart the machine (Windows Server 2008 R2), but no use. The same procedure is fine on my SQL Server instance on Windows 8 machine.
I tried the SQL Server Profiler, but of no use. Don't see any drop procedure.
Also for some strange reason, I am getting a lot of requests every second to my SQL Server which is hosting a dotnetnuke based website. Can someone help me with this.
Thanks
Just had this issue presented by another developer. It turned out that there was a "DROP procedure" included at the end of another SP.
To look for such hidden statement in another database SP, run a statement like
select OBJECT_NAME(sc.id), sc.* from syscomments sc where text like '%<name_of_SP>%'
where <name_of_SP> is the SP being dropped.
I had this same problem, and the issue was a missing GO in the DB script between a stored procedure create script and a drop of another stored procedure.
The solution was to add a GO between stored procedure 1 create and stored procedure 2 drop.
I referred to Stored Procedure gets dropped randomly.

Compiling Stored Procedure hangs Oracle SQL Developer

I am facing an unusual problem in Oracle SQL Developer. When I try to compile a store procedure it hangs up the Oracle SQL DEveloper Screen and I can't do any activity, except to kill the SQL developer instance and start again.
But the same issue. Anybody faced such problem? I am new to oracle.
Here some additions to the problem I waited for 5 to 10 mins and got this error
ORA-04021 timeout occurred while waiting to lock object
But I am the only person working on this instance of Oracle
One of your previous attempts to create the procedure, which you killed, is still stuck and active. You need to kill that Oracle session using http://www.oracle-base.com/articles/misc/KillingOracleSessions.php
The other source of this error is another process in your database is running the procedure while you are trying to compile it. Use this query to figure out which process is running it:
select sess.sid, sess.username, sql_text
from v$sqlarea sqlarea, v$session sess
where sess.sql_hash_value = sqlarea.hash_value
and sess.sql_address = sqlarea.address
and sess.username is not null;
Query v$locked_object to see if any objects that are currently locked are in use by your Stored Procedure. If so, track down the query/module which has it locked & end the query.
The link given by Thomas gives the details of how to kill a session, once the sessions are killed & v$locked_object shows no records, you should be able to compile fine.

ADO SQLServer dbGo generates a EAccessViolation

I have a program that is filling a DB in a single thread.
I Use one connection for all queries. Thats so i will be able to run them all in transactions.
Every second I get a new set of files that has to be entered into a SQL Server 2005 Express.
The Application can run for 24 to 36 hours and than suddenly get a "EAccessViolation" in a query.
This query is by then been executed for atleast 24 * 60 * 60 times.
I'm not shure if it also happens with querys without parameres because most of the queries (90%) has parameres. they are inserts/updates or select with a parameter(s).
when this occures all queries afterwards get the same EAccessViolation and after a while I get a StackOverflow.
While the code is constructed in sutch a manner that an exception will be handled and the next time the code should run without problems.
the fact that this is happening in varios queries (that did't change from the former version) with the only change that in stead of using dbGo from BCB Builder 2007 we did ADO with Cpp Builder 6.0.
I asume that it is someware in the Windows version MDAC(2.8) or in de dbGo from CodeGear. The fact that in the previous version (ADO BCB6.0)we did't run into it and now with (dbGO and BCB2007) we have is it making that part very suspicius.
I hope that some has some nice Ideas what could be the reason for all this.
At the moment I Can't reproduce it here on a desktop. I'm still trying to get it reproduced that will defibnitly give more info.
I'm open for suggestions.
regards
jvdn.
I would suspect the driver - try using a different one to see if the problem can be isolated. Also try to rewrite the query to use a different syntax, maybe you could recyle the connections every so often?

Resources