hai-nv commented on PR #23971:
URL: https://github.com/apache/airflow/pull/23971#issuecomment-1221508055

   > > Why would we care if it is a select query or PL/SQL?
   > 
   > Because PL/SQL has complex multipule statments that can not be splitted.
   > 
   > I also think we adressed this already? I'm not near my laptop but as far 
as I remember we added a `split_statment` flag so: `OracleOperator(..., 
split_statment=False)` Should work in this case.
   
   Hi,
   OracleOperator and OracleStoredProcedureOperator do not have 
'split_statements' yet (provider version 3.3.0)
    airflow.exceptions.AirflowException: Invalid arguments were passed to 
OracleStoredProcedureOperator (task_id: call_procedure). Invalid arguments were:
                                          | **kwargs: {'split_statements': 
False}
   And i have same issue with ';' too when using OracleStoredProcedureOperator 
to trigger procedure
   
   [2022-08-21, 09:00:10 UTC] {sql.py:315} INFO - Running statement: BEGIN 
pkg_test_***.test_insert_into_tmp_test(:p_input); END, parameters: {'p_input': 
'A'}
   [2022-08-21, 09:00:10 UTC] {taskinstance.py:1909} ERROR - Task failed with 
exception
   Traceback (most recent call last):
     File 
"/home/airflow/.local/lib/python3.7/site-packages/airflow/providers/oracle/operators/oracle.py",
 line 104, in execute
       return hook.callproc(self.procedure, autocommit=True, 
parameters=self.parameters)
     File 
"/home/airflow/.local/lib/python3.7/site-packages/airflow/providers/oracle/hooks/oracle.py",
 line 327, in callproc
       handler=handler,
     File 
"/home/airflow/.local/lib/python3.7/site-packages/airflow/providers/common/sql/hooks/sql.py",
 line 295, in run
       self._run_command(cur, sql_statement, parameters)
     File 
"/home/airflow/.local/lib/python3.7/site-packages/airflow/providers/common/sql/hooks/sql.py",
 line 318, in _run_command
       cur.execute(sql_statement, parameters)
     File 
"/home/airflow/.local/lib/python3.7/site-packages/oracledb/cursor.py", line 
378, in execute
       impl.execute(self)
     File "src/oracledb/impl/thin/cursor.pyx", line 121, in 
oracledb.thin_impl.ThinCursorImpl.execute
     File "src/oracledb/impl/thin/protocol.pyx", line 375, in 
oracledb.thin_impl.Protocol._process_single_message
     File "src/oracledb/impl/thin/protocol.pyx", line 376, in 
oracledb.thin_impl.Protocol._process_single_message
     File "src/oracledb/impl/thin/protocol.pyx", line 369, in 
oracledb.thin_impl.Protocol._process_message
   oracledb.exceptions.DatabaseError: ORA-06550: line 1, column 63:
   PLS-00103: Encountered the symbol "end-of-file" when expecting one of the 
following:
   
      ; <an identifier> <a double-quoted delimited-identifier>
   The symbol ";" was substituted for "end-of-file" to continue.
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to