Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C#
  4. OracleClient.OracleException ORA-06550 with anonymous block taking no argument [modified]

OracleClient.OracleException ORA-06550 with anonymous block taking no argument [modified]

Scheduled Pinned Locked Moved C#
2 Posts 1 Posters 2 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Offline
    D Offline
    devvvy
    wrote on last edited by
    #1

    hello This scripts runs okay on SQL*Plus and TOAD (using same account "dev") but not sure when I try to wire it down through "System.Data.OracleClient" I keep getting the following error: ORA-06550: line 1, column 8:\nPLS-00103: Encountered the symbol \"\" when expecting one of the following:\n\n begin function package pragma procedure subtype type use\n ... System.Data.OracleClient.OracleException... Here's the code: DECLARE count_item int; BEGIN SELECT count(1) into count_item FROM user_sequences WHERE sequence_name = 'AUDITLOGSEQUENCE'; IF count_item > 0 THEN begin dbms_output.put_line('drop sequence AUDITLOGSEQUENCE'); EXECUTE IMMEDIATE ('DROP SEQUENCE AUDITLOGSEQUENCE'); end; ELSE dbms_output.put_line('no need to drop AUDITLOGSEQUENCE'); END IF; EXECUTE IMMEDIATE 'CREATE SEQUENCE AUDITLOGSEQUENCE MINVALUE 1 MAXVALUE 999999999999999999999999999 START WITH 1 INCREMENT BY 1 CACHE 20'; dbms_output.put_line('AUDITLOGSEQUENCE created'); SELECT count(1) into count_item FROM user_tables WHERE table_name = 'LOG'; IF count_item > 0 THEN begin dbms_output.put_line('drop table LOG'); EXECUTE IMMEDIATE ('DROP TABLE LOG'); end; ELSE dbms_output.put_line('no need to drop table LOG'); END IF; EXECUTE IMMEDIATE ' CREATE TABLE LOG ( Id numeric(19,0) NOT NULL, CreateDate date default sysdate NOT NULL, Thread varchar (255) NOT NULL, LogLevel varchar (50) NOT NULL, Logger varchar (255) NOT NULL, Message varchar (4000) NOT NULL, InnerException varchar (2000) NULL, CONSTRAINT PK_LOG PRIMARY KEY (Id) )'; COMMIT; dbms_output.put_line('table LOG created'); dbms_output.put_line('setup complete'); EXCEPTION WHEN OTHERS THEN dbms_output.put_line('*** setup exception detected! ***'); dbms_output.put_line('error code: ' || sqlcode); dbms_output.put_line('stack trace: ' || dbms_utility.format_error_backtrace); RAISE_APPLICATION_ERROR(-20000, 'AuditTrail.oracle.tables.sql - install failed'); END; As you can see, the script is anonymous block taking no argument And I looked at the code, can't see anything wrong. oCmd = oConn.CreateCommand(); oCmd.CommandText = DBUtil.FixParameterNameForOracle(oContext.DefaultDBProvider, StringUtil.ReplaceSpecialTokens(SQL)); oCmd.CommandType = System.Data.CommandType.Text; oDataSet = new DataSet(CmdFilePath); oTable = new DataTable(Name); oDataSet.Tables.

    D 1 Reply Last reply
    0
    • D devvvy

      hello This scripts runs okay on SQL*Plus and TOAD (using same account "dev") but not sure when I try to wire it down through "System.Data.OracleClient" I keep getting the following error: ORA-06550: line 1, column 8:\nPLS-00103: Encountered the symbol \"\" when expecting one of the following:\n\n begin function package pragma procedure subtype type use\n ... System.Data.OracleClient.OracleException... Here's the code: DECLARE count_item int; BEGIN SELECT count(1) into count_item FROM user_sequences WHERE sequence_name = 'AUDITLOGSEQUENCE'; IF count_item > 0 THEN begin dbms_output.put_line('drop sequence AUDITLOGSEQUENCE'); EXECUTE IMMEDIATE ('DROP SEQUENCE AUDITLOGSEQUENCE'); end; ELSE dbms_output.put_line('no need to drop AUDITLOGSEQUENCE'); END IF; EXECUTE IMMEDIATE 'CREATE SEQUENCE AUDITLOGSEQUENCE MINVALUE 1 MAXVALUE 999999999999999999999999999 START WITH 1 INCREMENT BY 1 CACHE 20'; dbms_output.put_line('AUDITLOGSEQUENCE created'); SELECT count(1) into count_item FROM user_tables WHERE table_name = 'LOG'; IF count_item > 0 THEN begin dbms_output.put_line('drop table LOG'); EXECUTE IMMEDIATE ('DROP TABLE LOG'); end; ELSE dbms_output.put_line('no need to drop table LOG'); END IF; EXECUTE IMMEDIATE ' CREATE TABLE LOG ( Id numeric(19,0) NOT NULL, CreateDate date default sysdate NOT NULL, Thread varchar (255) NOT NULL, LogLevel varchar (50) NOT NULL, Logger varchar (255) NOT NULL, Message varchar (4000) NOT NULL, InnerException varchar (2000) NULL, CONSTRAINT PK_LOG PRIMARY KEY (Id) )'; COMMIT; dbms_output.put_line('table LOG created'); dbms_output.put_line('setup complete'); EXCEPTION WHEN OTHERS THEN dbms_output.put_line('*** setup exception detected! ***'); dbms_output.put_line('error code: ' || sqlcode); dbms_output.put_line('stack trace: ' || dbms_utility.format_error_backtrace); RAISE_APPLICATION_ERROR(-20000, 'AuditTrail.oracle.tables.sql - install failed'); END; As you can see, the script is anonymous block taking no argument And I looked at the code, can't see anything wrong. oCmd = oConn.CreateCommand(); oCmd.CommandText = DBUtil.FixParameterNameForOracle(oContext.DefaultDBProvider, StringUtil.ReplaceSpecialTokens(SQL)); oCmd.CommandType = System.Data.CommandType.Text; oDataSet = new DataSet(CmdFilePath); oTable = new DataTable(Name); oDataSet.Tables.

      D Offline
      D Offline
      devvvy
      wrote on last edited by
      #2

      found it... I fixed strSQL from application, removing all instances of newline strSQL = strSQL.Replace('\n', ' '); I'm very impressed by the work on System.Data.OracleClient, some quality code!

      dev

      1 Reply Last reply
      0
      Reply
      • Reply as topic
      Log in to reply
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes


      • Login

      • Don't have an account? Register

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • World
      • Users
      • Groups