Hi,
try this syntax:
begin
EDIGISDB.data_extracts.log_data_extract ('FLUOR');
end;
You will probably get some warning in the log about the semicolons, but you can ignore those.
David
Would using
FME_SQL_DELIMITER ;
on the first line not remove the warnings?
Hi Mark,
yes, in this case it would replace the warnings with errors, since FME would then execute each part separated by a semicolon separately, which would confuse Oracle a lot :-)
On the other hand, perhaps it could be worthwhile to also try without the begin/end transaction clause. If it works, no semicolons would be needed at all.
David
I had followed similar approach what david has suggested. It works fine
sam
Thanks for the replies guys but stil no success with this.
I've tried David R's suggestion of removing the ; and begin/end component and still no joy. I've also tries the follwoing
FME_SQL_DELIMITER ;
begin
EDIGISDB.data_extracts.log_data_extract ('FLUOR');
end;
With the same result...man this isstating to test me!
Thanks
Michael
Hi,
first of all, do not use "FME_SQL_DELIMITER" at all, it is not applicable in this scenario.
Did you try my original suggestion with the begin/end clause? It should work.
If it doesn't, is the error message still the same? Can you post your log file somewhere?
David
Hi David.
I did try your initial suggestion as well as including the DELIMETER statement.
|t the moment I;m not having success with
begin
EDIGISDB.data_extracts.log_data_extract ('FLUOR');
end;
The part error log I'm getting is below.
2013-05-01 07:58:15| 0.9| 0.0|WARN |Semicolons detected in SQL. May need to use FME_SQL_DELIMITER keyword to specify a delimiter. SQL is: 'begin EDIGISDB.data_extracts.log_data_extract ('FLUOR'); end;'
2013-05-01 07:58:15| 0.9| 0.0|ERROR |BADNEWS: Execution of statement `begin EDIGISDB.data_extracts.log_data_extract ('FLUOR'); end;' did not succeed; error was `ORA-06550: line 1, column 7:
PLS-00201: identifier 'EDIGISDB.DATA_EXTRACTS' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
'. (serverType=`ORACLE8i', serverName=`gisprod', userName=`miread', password=`***', dbname=`') (.\\stfdb.cpp:245)
2013-05-01 07:58:16| 0.9| 0.0|WARN |Semicolons detected in SQL. May need to use FME_SQL_DELIMITER keyword to specify a delimiter. SQL is: 'begin EDIGISDB.data_extracts.log_data_extract ('FLUOR'); end;'
2013-05-01 07:58:16| 0.9| 0.0|ERROR |BADNEWS: Execution of statement `begin EDIGISDB.data_extracts.log_data_extract ('FLUOR'); end;' did not succeed; error was `ORA-06550: line 1, column 7:
PLS-00201: identifier 'EDIGISDB.DATA_EXTRACTS' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
'. (serverType=`ORACLE8i', serverName=`gisprod', userName=`miread', password=`***', dbname=`') (.\\stfdb.cpp:245)
2013-05-01 07:58:16| 0.9| 0.0|INFORM|Translation was SUCCESSFUL with 4 warning(s) (0 feature(s)/0 coordinate(s) output)
2013-05-01 07:58:16| 0.9| 0.0|INFORM|FME Session Duration: 21.8 seconds. (CPU: 0.2s user, 0.3s system)
2013-05-01 07:58:16| 0.9| 0.0|INFORM|END - ProcessID: 6376, peak process memory usage: 33960 kB, current process memory usage: 33660 kB.
Translation SUCCEEDED.
When refreshing the linked table in Mapinfo I'm not seeing the update that I'm expecting.
Appreciate your help David.
Thanks
Michael
Hi
The error which you have reported is actually generated from Oracle and not from FME. FME has infact executed the stored procedure
Please test your stored procedure
ORA-06550 is generally PLSQL compilation error
Sam
Thanks David R. Your syntax was correct however there were some access privileges that needed to be allowed for our read user. I've had our Oracle guru take a look at it for me and he has sorted it. The
PLS-00201: identifier 'EDIGISDB.DATA_EXTRACTS' must be declared
was the giveaway for him.
It's all up and running.
Thanks again.
Michael