XE6 regression: [FireDAC][Phys][Ora] ORA-00942: la tabla o vista no existe

I have a program that works in XE5. In XE6 doing a select in Oracle 11 works, but when I try to update it gives ORA-00942 or something like:
 First chance exception at $7C812FD3. Exception class EVariantInvalidArgError with message 'Invalid argument'. Process PruebaFiredac.exe (1656)

I've been able to reproduce it with a simple program like this (sometimes it fails the first time I try, other times it works in the first update and fails in the second):

{code}
procedure TForm1.Button1Click(Sender: TObject);
begin
  with fdquery do
  begin
    Close;
    SQL.Text := EditComando.Text;    // i use something like SELECT * FROM MYTABLE
    Open;
  end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  ierrors: integer;
begin
  iErrors := FDQuery.ApplyUpdates(0);
  if iErrors = 0 then
  begin
    FDQuery.CommitUpdates;
    FDConnection.Commit;
    FDQuery.Refresh;          
  end
  else
  begin
    FDConnection.Rollback;
  end;
end;
{code}

By the way, I've read that it's posible to see exactly the sql sentence that is giving the error but I can't find the property?

This is the call stack:

:7c812fd3 kernel32.RaiseException + 0x52
FireDAC.Stan.Error.FDException(???,???,???)
FireDAC.Phys.OracleWrapper.TOCIError.Check(???,$D48BC0)
FireDAC.Phys.OracleWrapper.TOCIHandle.Check(???)
FireDAC.Phys.OracleWrapper.TOCIStatement.Execute(1,0,True,True)
FireDAC.Phys.Oracle.TFDPhysOracleCommand.InternalExecute(1,0,0)
FireDAC.Phys.Process_HandleSystemFailure(1,0,0,False)
FireDAC.Phys.Process_SingleRow
FireDAC.Phys.TFDPhysCommand.ExecuteBase(1,0)
FireDAC.Phys.TFDPhysCommandAsyncExecute.Execute
FireDAC.Stan.Async.TFDStanAsyncExecutor.ExecuteOperation(False)
FireDAC.Stan.Async.TFDStanAsyncExecutor.Run
FireDAC.Phys.TFDPhysCommand.ExecuteTask(???,nil,False)
FireDAC.Phys.TFDPhysCommand.Execute(???,???,False)
FireDAC.DApt.TFDDAptTableAdapter.ProcessRequest(TFDPhysOracleCommand($D48C6C) as IFDPhysCommand,$E07410,arUpdate,[],[],False)
FireDAC.DApt.TFDDAptTableAdapter.ProcessUpdate($E07410,eaDefault,arUpdate,[],[],-1)
FireDAC.DApt.TFDDAptTableAdapter.Update(???,???,[],???)
FireDAC.DApt.UpdateLocking([],[uoDeferredLock],[])
FireDAC.DApt.TFDDAptUpdatesJournalProcessor.Process(0)
FireDAC.DApt.TFDDAptTableAdapter.Update(0)
FireDAC.Comp.Client.TFDCustomTableAdapter.ApplyUpdates(0)
FireDAC.Comp.Client.TFDAdaptedDataSet.DoApplyUpdates(???,0)
FireDAC.Comp.DataSet.TFDDataSet.ApplyUpdates(7391828)
Unit1.TForm1.Button2Click($D68AC0)
Vcl.Controls.TControl.Click
Vcl.StdCtrls.TCustomButton.Click
Vcl.StdCtrls.TCustomButton.CNCommand(???)
Vcl.Controls.TControl.WndProc((48401, 1328, 853296, 0, 1328, 0, (), 1328, 13, (), 0, 0, ()))
Vcl.Controls.TWinControl.WndProc((48401, 1328, 853296, 0, 1328, 0, (), 1328, 13, (), 0, 0, ()))
Vcl.StdCtrls.TButtonControl.WndProc((48401, 1328, 853296, 0, 1328, 0, (), 1328, 13, (), 0, 0, ()))
Vcl.Controls.TControl.Perform(???,???,853296)
Vcl.Controls.DoControlMsg(???,(no value))
Vcl.Controls.TWinControl.WMCommand((273, (), 1328, 0, (), 853296, 0))
Vcl.Forms.TCustomForm.WMCommand((273, (), 1328, 0, (), 853296, 0))
Vcl.Controls.TControl.WndProc((273, 1328, 853296, 0, 1328, 0, (), 1328, 13, (), 0, 0, ()))
Vcl.Controls.TWinControl.WndProc((273, 1328, 853296, 0, 1328, 0, (), 1328, 13, (), 0, 0, ()))
Vcl.Forms.TCustomForm.WndProc((273, 1328, 853296, 0, 1328, 0, (), 1328, 13, (), 0, 0, ()))
Vcl.Controls.TWinControl.MainWndProc(???)
System.Classes.StdWndProc(984338,273,1328,853296)
:7e398734 USER32.GetDC + 0x6d
:7e398816 ; C:\WINDOWS\system32\USER32.dll
:7e3a927b ; C:\WINDOWS\system32\USER32.dll
:7e3a92e3 USER32.SendMessageW + 0x49
:773c735f ; C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.6028_x-ww_61e65202\comctl32.dll
:773c7441 ; C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.6028_x-ww_61e65202\comctl32.dll
:773c9746 ; C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.6028_x-ww_61e65202\comctl32.dll
:7e398734 USER32.GetDC + 0x6d
:7e398816 ; C:\WINDOWS\system32\USER32.dll
:7e3aa013 USER32.IsWindowUnicode + 0xa1
:7e3aa039 USER32.CallWindowProcW + 0x1b
Vcl.Controls.TWinControl.DefaultHandler(???)
:005452eb TWinControl.DefaultHandler + $EB
:005451da TWinControl.WndProc + $5CE
:00559d81 TButtonControl.WndProc + $71
:004d17e2 StdWndProc + $16
:7e398734 USER32.GetDC + 0x6d
:7e398816 ; C:\WINDOWS\system32\USER32.dll
:7e3989cd ; C:\WINDOWS\system32\USER32.dll
:7e398a10 USER32.DispatchMessageW + 0xf
0
jesu
7/4/2014 11:48:05 AM
embarcadero.delphi.firedac 822 articles. 2 followers. Follow

6 Replies
1311 Views

Similar Articles

[PageSpeed] 18

More info: in my computer I have Oracle Instant Client 10.2.0.5. In another computer that has client 12.0.1 the program shows no error, but when I look in sql navigator the table is *not* updated.
0
jesu
7/4/2014 12:13:59 PM
> By the way, I've read that it's posible to see exactly the sql sentence that is giving the error but I can't find the property?

http://docwiki.embarcadero.com/RADStudio/XE6/en/Tracing_and_Monitoring_(FireDAC)

-- 
With best regards,
Dmitry Arefiev / FireDAC Architect
0
Dmitry
7/5/2014 2:57:48 AM
> http://docwiki.embarcadero.com/RADStudio/XE6/en/Tracing_and_Monitoring_(FireDAC)

Not exactly what I was looking for (unless my memory is failing I've read something about Query.sql or query.text or something like that) but this also worked.

In XE6 when Firedac does a select it executes SELECT * FROM MYTABLE but when it does un update it executes UPDATE MYUSER.MYTABLE.

I'm not the owner of the table. I'm just using a public synonym for which I've received a GRANT.

I've been trying to find a property both in FdConnection and FdQuery to change that but I must be missing something. I guess there is one?

TIA
0
jesu
7/7/2014 7:39:42 AM
Is there an easy fix or should I enter this in QC?

This is a big problem for us. We have a policy of using always synonyms, never table names.
0
jesu
7/9/2014 8:22:42 AM
> Is there an easy fix or should I enter this in QC?

Set MetaDefSchema connection definition parameter to schema name or to '*':
http://docwiki.embarcadero.com/RADStudio/XE6/en/Common_Connection_Parameters_(FireDAC)

-- 
With best regards,
Dmitry Arefiev / FireDAC Architect
0
Dmitry
7/11/2014 11:40:08 AM
> Set MetaDefSchema connection definition parameter to schema name or to '*':

Just in case someone has the same problem, the * has to be without quotes or it won't work.
0
jesu
7/14/2014 9:18:59 AM
Reply:

Similar Artilces:

[Firedac][Phys][Ora]-335. Parameter [p_beg_no] data type unknown.
[Firedac][Phys][Ora]-335. Parameter [p_beg_no] data type unknown. Hint: Specify TFDParameter.data type or assign TFDParam value before Prepare/Call I am trying to use a simple TFDConnection and SQLQuery - Oracle 11g These 2 commands work FDConnection1.ExecSQL('Truncate table Reptnos'); FDConnection1.ExecSQL('Insert into Reptnos values (123456)'); This one returns the above error: FDConnection1.ExecSQL('Insert into Reptnos values (:p_beg_no)'); My code: type TForm3 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; ...

FireDAC and Delphi Pro XE4... firedac tab not visible?
I am moving from a very old Borland product (2006) to Delphi XE4 Professional with FireDAC addon. I purchased both from Embarcadero, and have downloaded both. The documentation says the FireDAC components should automagically appear in the tabset for Delphi. They do not. I don't want to fool around too much as my environment is strictly controlled by IT, and they are very slow to do anything. Is there something that I should have done, but did not do? I installed XE4 first, registered it, then used the link in my email from Embarcadero to download the FireDAC components. Then I ra...

ORA-00942: table or view does not exist
Hi, I'm excuting a simple query through ASP.NET 2.0, and I get the following exception from Oracle 10g XE (Express Edition): ORA-00942: table or view does not exist I'm using the correct schema, the correct user, no problem on security. I already checked the table on the Oracle web interface and it seems there are no problems. If I try to use the SQL*Plus from Oracle, it works fine This is the code: Try   BDConn.Open()      Dim ViewSQL As String = "select * from TEMPLOYEES;"   Dim cmd As New OracleCommand(ViewSQL, BD...

ORA-00942: table or view does not exist
I get the message "ORA-00942: table or view does not exist" when trying to connect to an Oracle database. My understanding is that InfoMaker creates some tables in the target database in order to connect. Could it be that InfoMaker can't create these tables, if so what needs to be done to let InfoMaker create the tables it needs in the Oracle database? Using InfoMaker 8.0 and Oracle 8.x There was a bug in early releases of IM8 where for whatever reason IM indeed did not create the PBCatalog tables. I'm not completely sure when the bug was fixed. I believe ...

ORA 00942:table or view does not exist
I just installed Infomaker 8.0 and am trying to create a database connection profile to an Oracle9.2 database. for some reason though I keep getting the error message ORA 00942:table or view does not exist and no connection is established using that profile. I know the username/password is correct and the server/database can be accessed using the same data I provided in the profile. any idea's on what could be wrong ? Thanks! please ignore my question, the problem is solved. > I just installed Infomaker 8.0 and am trying to create a > database connection profile to an O...

FireDAc acess VS IBX in Delphi XE6
Dear Sir, I've been testing both tecnhologies: IBX and FireDac access for local and remote acess o Firebase database. In local access i foud no sucth diference. However in remote accesse FiraDac takes 10 to 20 time more the IBX and i wonder why? In both cases i used ZEBEDEE in order to improove access. Here goes a piece of the code i use: With MyFDacConnection Do begin Params.Add('CharacterSet=WIN1252'); Params.Add('user_name=' + Uppercase( User ) ) ; Params.Add('Password=' + Password ); Params.Add('ExtendedMetadata=...

online redefinition via dbms_redefinition causes ORA-12096 and ORA-00942 for statement handle
Folks, I'm wondering if anyone can provide some insight. recently we did an online table redefinition with Oracle 10.2.0.3/ SLES10/Linux x86_64. Once the redefinition completed successfully, we had a number of failures from our perl programs that failed with the following: DBD::Oracle::st execute failed: ORA-12096: error in materialized view log on "SCOTT"."TEST_TABLE" ORA-00942: table or view does not exist (DBD ERROR: OCIStmtExecute) [for Statement " It seems that if we alter the structure of the table (in my case I was adding new partition d...

Delphi XE6 How to link FastReport components to FireDAC components?
Hi to all. I'm wondering on how to link FastReport componets to FireDAC components. A Delphi XE article "Creating Reports with FastReport (FireDAC)" tells about some misterious component called "TfrxComponents" that is used to do de job but I can't find it nowhere. FastReport demos uses ADOTables and ADOQuerys but no FDQueys neither FDTables. Is there any source code example for doing this? I'll appreciate any link than can help me to best understand my trouble. Regards, Hernando. Please, contact FastReports company regarding FireDAC / FastRepor...

"ORA-00942 table or view does not exist" again
Hi, all I have a strange problem, I get 'ORA-00942 table or view does not exist' message when I run application, but PB does not complain if I run the same DataWindow from DW Painter or even if I run The SELECT statement that I copy in PB Debugger from SQL Preview event ( it runs both in PB DataBase painter and SQL Navigator). I understand the problem in priviledges, but I have one for "SELECT' on this table. We are using PowerBuilder 7.0.2 Build 9028, OS: Windows 98. We have PB Catalogs table under the SYSTEM owner. Please, advise, TIN Vladimir Uzlaner...

'ORA-00942 table or view does not exist'
hello all! when i trying to connect to oracle8.16 in PB8 environment throw o84 driver, i got the 'ORA-00942 table or view does not exist' error, what's the wrong? thanks a lot! You have not setup you user so that the talbe is visible. Either 1) add that user to the group who owns the table (or another group that is a member of that group) 2) fully qualify the table with table owner name /ck "james" <james_bnd@hotmail.com> wrote in message news:L246FQdFCHA.111@forums.sybase.com... > hello all! > when i trying to connect to oracle8.16 in ...

Delphi XE6 How to link FastReport components to FireDAC components?
Hi to all. I'm wondering on how to link FastReport componets to FireDAC components. A Delphi XE article "Creating Reports with FastReport (FireDAC)" tells about some misterious component called "TfrxComponents" that is used to do de job but I can't find it nowhere. FastReport demos uses ADOTables and ADOQuerys but no FDQueys neither FDTables. Is there any source code example for doing this? I'll appreciate any link than can help me to best understand my trouble. Regards, Hernando. First of all, FastReports has a propensity to uninstall itself. S...

ORA-24338 and ORA-24334
Hi all, I'm trying to create a datawindow (with retrieval arguments) based on a stored procedure in Oracle 8i. I'm using PB 8.0.3 build 9704. The stored procedure is returning rows in a reference cursor, as required by Powerbuilder. When I try to create a datawindow based on that stored procedure, I get the error "ORA-24338 no descriptor for this position.". When I open the cursor and return the rows in the "exception" section of the stored procedure also, I can build the datawindow without any problem. But when I retrieve the datawindow in the datawi...

ora-00942
I have a strange problem: when i attempt to connect to an Oracle DB 8.1.6 from Powerbuilder 7.03 build 10108 i get this message: ORA-00942 : TABLE OR VIEW DOES NOT EXIST My connection profile is: SQLCA.DBMS = "O84 ORACLE 8.0.4" SQLCA.LogPass = <*******> SQLCA.ServerName = "servername" SQLCA.LogId = "system" SQLCA.AutoCommit = False SQLCA.DBParm = "CommitOnDisconnect='No',DisableBind=1,Async=1,DecimalSeparator=','" and the User system is DBA thank you in advance for any help. I would like to specify t...

Delphi XE6 FireDAC FDQuery.Prepared turns to False unexpectedly
Hi to all, I'm migrating my source code from DBExpress to FireDAC and have this code: {code} FDQuery1.Close; if not FDQuery1.Prepared then begin FDQuery1.Params.Clear; FDQuery1.SQL.Text := 'SELECT FROM my_table WHERE id >= :limit_a AND id < :limit_b'; FDQuery1.Params.CreateParam(ftInteger, 'limit_a', ptInput); FDQuery1.Params.CreateParam(ftInteger, 'limit_b', ptInput); FDQuery1.Prepared := True; end; FDQuery1.ParamByName('limit_a').AsInteger := SomeInt; FDQuery1.ParamByName('limit_b').AsInteger := SomeInt + ...

Web resources about - XE6 regression: [FireDAC][Phys][Ora] ORA-00942: la tabla o vista no existe - embarcadero.delphi.firedac

Resources last updated: 1/19/2016 2:29:50 AM