ORA-00933 SQL command not specifically terminated. Zeos or SQLdb + Oracle lazarus / 16-Databases ---------------------------------------------------------------------- babycode · 2024-07-06 21:12 Good afternoon sirs, I have a Data Module with ZConnection and a ZQuery with SQL: Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i select * from COMPANY.clients; When I activate the query at design or run time I receive the error: "ORA-00933 SQL command not specifically terminated." I ran the query creating the objects at run time and the problem does not occur: Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i procedure TfrmPrincipal.Button1Click(Sender: TObject);var  Connection: TZConnection;  Query: TZQuery;begin  Connection := TZConnection.Create(nil);  try    Connection.Protocol := 'oracle';    Connection.HostName := 'LOCALHOST';    Connection.Database := 'DATABASE_COMPANY_A';    Connection.User := 'USER';    Connection.Password := 'masterpass';    Connection.LibraryLocation:='oci.dll';    Connection.Connected := True;     Query := TZQuery.Create(nil);    try      Query.Connection := Connection;      Query.SQL.Text := 'SELECT * FROM COMPANY.clients WHERE CODCLI = 123456';      Query.Open;       // Processar os dados    while not Query.EOF do      begin        ShowMessage(Query.FieldByName('NAME').AsString);        Query.Next;    end;    finally      Query.Free;    end;   finally    Connection.Free;  end;end; The problem occurs with both Zeos and SQLdb ---------------------------------------------------------------------- dseligo · 2024-07-06 22:07 Try without semicolon at the end. In your 2nd example (which works) you don't have semicolon. ---------------------------------------------------------------------- babycode · 2024-07-06 22:24 Hello, thanks for responding. I tried without the semicolon. ---------------------------------------------------------------------- dseligo · 2024-07-06 23:06 And what if you (in runtime) try: Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i Query.SQL.Text := 'SELECT * FROM COMPANY.clients WHERE CODCLI = 123456';Query.Open; Also, try to make one component in runtime, and other one at design time (i.e. create TZConnection at runtime, and put your TZQuery in Datamodule). Then at runtime (without creating TZQuery): Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i       Query.Connection := Connection;      Query.SQL.Text := 'SELECT * FROM COMPANY.clients WHERE CODCLI = 123456';      Query.Open; If it works when you all create at runtime, I bet the error is somewhere in your code or component setup. Did you set Connected of TZConnection to false before running application? ---------------------------------------------------------------------- Zvoni · 2024-07-08 07:31 Errr...... isn't the delimiter to separate schema/namespace from table a colon in Oracle? ---------------------------------------------------------------------- babycode · 2024-07-16 12:58 It worked without semicolons. I entered the schema before the table name. ---------------------------------------------------------------------- jcmontherock · 2024-07-16 13:26 In mySQL you should write: Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i Query.SQL.Text := 'SELECT * FROM COMPANY.clients WHERE CODCLI = 123456;'; ';' is the default script delimiter. ---------------------------------------------------------------------- Zvoni · 2024-07-16 13:49 Quote from: jcmontherock on July 16, 2024, 03:26:28 pmIn mySQL you should write: Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i Query.SQL.Text := 'SELECT * FROM COMPANY.clients WHERE CODCLI = 123456;'; ';' is the default script delimiter. What's got MySQL to do with the Problem? There is a saying in Germany: If you can read, you have an advantage..... ---------------------------------------------------------------------- jcmontherock · 2024-07-16 13:51 SQL is a normalized language... and Mysql is by Oracle edited ! ---------------------------------------------------------------------- Zvoni · 2024-07-17 06:42 Quote from: jcmontherock on July 16, 2024, 03:51:26 pmSQL is a normalized language... Yes... for the core part of SQL. The moment you go into the extended part, that statement becomes useless Quoteand Mysql is by Oracle edited ! Try to execute the following in MySQL Code: SQL  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i SELECT * FROM SomeTable FETCH FIRST 10 ROWS ONLY That SQL will execute in Oracle but not in MySQL Just because Oracle bought MySQL, doesn't mean a Solution for MySQL will work in Oracle and vice versa ---------------------------------------------------------------------- jcmontherock · 2024-07-17 09:30 Yes, but you can try it...