Click here to Skip to main content
15,888,984 members
Home / Discussions / C#
   

C#

 
QuestionCompress and extract a folder Pin
yesu prakash6-Apr-09 21:37
yesu prakash6-Apr-09 21:37 
AnswerRe: Compress and extract a folder Pin
Christian Graus6-Apr-09 21:39
protectorChristian Graus6-Apr-09 21:39 
GeneralRe: Compress and extract a folder Pin
Vikram A Punathambekar6-Apr-09 22:11
Vikram A Punathambekar6-Apr-09 22:11 
AnswerRe: Compress and extract a folder Pin
12Code6-Apr-09 21:59
12Code6-Apr-09 21:59 
AnswerRe: Compress and extract a folder Pin
12Code6-Apr-09 21:59
12Code6-Apr-09 21:59 
AnswerRe: Compress and extract a folder Pin
Vasudevan Deepak Kumar6-Apr-09 23:34
Vasudevan Deepak Kumar6-Apr-09 23:34 
AnswerRe: Compress and extract a folder Pin
Laddie7-Apr-09 0:58
Laddie7-Apr-09 0:58 
QuestionOracleClient.OracleException ORA-06550 with anonymous block taking no argument [modified] Pin
devvvy6-Apr-09 21:35
devvvy6-Apr-09 21:35 
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:

<br />
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...<br />


Here's the code:
<br />
DECLARE<br />
  count_item int;<br />
BEGIN<br />
	SELECT count(1) into count_item FROM user_sequences WHERE sequence_name = 'AUDITLOGSEQUENCE';<br />
	IF count_item > 0 THEN<br />
		begin<br />
		dbms_output.put_line('drop sequence AUDITLOGSEQUENCE');<br />
		EXECUTE IMMEDIATE ('DROP SEQUENCE AUDITLOGSEQUENCE');<br />
		end;<br />
	ELSE<br />
		dbms_output.put_line('no need to drop AUDITLOGSEQUENCE');<br />
	END IF;<br />
<br />
	EXECUTE IMMEDIATE 'CREATE SEQUENCE AUDITLOGSEQUENCE<br />
		MINVALUE 1<br />
		MAXVALUE 999999999999999999999999999<br />
		START WITH 1<br />
		INCREMENT BY 1<br />
		CACHE 20';<br />
	dbms_output.put_line('AUDITLOGSEQUENCE created');<br />
	<br />
	SELECT count(1) into count_item FROM user_tables WHERE table_name = 'LOG';<br />
	IF count_item > 0 THEN<br />
		begin<br />
		dbms_output.put_line('drop table LOG');<br />
		EXECUTE IMMEDIATE ('DROP TABLE LOG');<br />
		end;<br />
	ELSE<br />
		dbms_output.put_line('no need to drop table LOG');<br />
	END IF;<br />
<br />
	EXECUTE IMMEDIATE '<br />
		CREATE TABLE LOG (<br />
			Id  numeric(19,0) NOT NULL,<br />
			CreateDate date default sysdate NOT NULL,<br />
			Thread varchar (255) NOT NULL,<br />
			LogLevel varchar (50) NOT NULL,<br />
			Logger varchar (255) NOT NULL,<br />
			Message varchar (4000) NOT NULL,<br />
			InnerException varchar (2000) NULL,<br />
			CONSTRAINT PK_LOG PRIMARY KEY (Id)<br />
		)';<br />
		<br />
	COMMIT;<br />
	<br />
	dbms_output.put_line('table LOG created');<br />
	<br />
    dbms_output.put_line('setup complete');<br />
EXCEPTION<br />
	WHEN OTHERS THEN<br />
		dbms_output.put_line('*** setup exception detected! ***');<br />
        dbms_output.put_line('error code: ' || sqlcode);<br />
        dbms_output.put_line('stack trace: ' || dbms_utility.format_error_backtrace);<br />
		RAISE_APPLICATION_ERROR(-20000, 'AuditTrail.oracle.tables.sql - install failed');<br />
END;<br />


As you can see, the script is anonymous block taking no argument

And I looked at the code, can't see anything wrong.
<br />
oCmd = oConn.CreateCommand();<br />
				oCmd.CommandText = DBUtil.FixParameterNameForOracle(oContext.DefaultDBProvider, StringUtil.ReplaceSpecialTokens(SQL));<br />
				oCmd.CommandType = System.Data.CommandType.Text;<br />
<br />
				oDataSet = new DataSet(CmdFilePath);<br />
				oTable = new DataTable(Name);<br />
				oDataSet.Tables.Add(oTable);<br />
				oAdapter = oFactory.CreateDataAdapter();<br />
				<br />
				oAdapter.SelectCommand = (DbCommand)oCmd;<br />
				oAdapter.Fill(oDataSet, Name);<br />


oCmd is of type "System.Data.OracleClient.OracleCommand". And it takes no parameter or input argument. I googled a bit closest I found is this:
http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataproviders/thread/579b5a98-ec74-4f6f-b5b4-6919d8bc3e7c/[^]

But my script contains no parameter.

Also, using "oCmd.ExecuteNonQuery()" instead of dataAdapter.Fill didn't help. I finally found one get around (NOT A DECENT SOLUTION!), that is to collapse the multiline script to single line!
<br />
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))'; dbms_output.put_line('table LOG created'); dbms_output.put_line('setup complete'); END;<br />


What the hell!? I have a big script next and I'm really not impressed ... any suggestion besides this?

Thanks

dev

modified on Tuesday, April 7, 2009 6:45 AM

AnswerRe: OracleClient.OracleException ORA-06550 with anonymous block taking no argument Pin
devvvy7-Apr-09 0:57
devvvy7-Apr-09 0:57 
QuestionCheckedListBox Pin
mrithula86-Apr-09 21:07
mrithula86-Apr-09 21:07 
AnswerRe: CheckedListBox Pin
Henry Minute7-Apr-09 1:29
Henry Minute7-Apr-09 1:29 
QuestionHow to read multiple lines from a file and save them into one variable (to be saved into the DB) Pin
Nopo6-Apr-09 21:01
Nopo6-Apr-09 21:01 
AnswerRe: How to read multiple lines from a file and save them into one variable (to be saved into the DB) Pin
Luc Pattyn7-Apr-09 4:13
sitebuilderLuc Pattyn7-Apr-09 4:13 
QuestionAccessing control from multiple forms Pin
mrithula86-Apr-09 20:50
mrithula86-Apr-09 20:50 
AnswerRe: Accessing control from multiple forms Pin
Christian Graus6-Apr-09 21:40
protectorChristian Graus6-Apr-09 21:40 
QuestionAbstract And Interface Pin
Isaac Gordon6-Apr-09 20:46
Isaac Gordon6-Apr-09 20:46 
AnswerRe: Abstract And Interface Pin
Vikram A Punathambekar6-Apr-09 21:29
Vikram A Punathambekar6-Apr-09 21:29 
AnswerRe: Abstract And Interface Pin
Mbah Dhaim6-Apr-09 21:41
Mbah Dhaim6-Apr-09 21:41 
AnswerRe: Abstract And Interface Pin
DaveyM696-Apr-09 22:46
professionalDaveyM696-Apr-09 22:46 
QuestionNeed help Licensed Windows Forms Controls in Internet Explorer Pin
Member 47160876-Apr-09 20:34
Member 47160876-Apr-09 20:34 
AnswerRe: Need help Licensed Windows Forms Controls in Internet Explorer Pin
Member 47160877-Apr-09 14:14
Member 47160877-Apr-09 14:14 
Questionexcel to listbox Pin
mist_psycho6-Apr-09 20:19
mist_psycho6-Apr-09 20:19 
AnswerRe: excel to listbox Pin
Christian Graus6-Apr-09 20:24
protectorChristian Graus6-Apr-09 20:24 
GeneralRe: excel to listbox Pin
mist_psycho6-Apr-09 20:30
mist_psycho6-Apr-09 20:30 
GeneralRe: excel to listbox Pin
Christian Graus6-Apr-09 21:42
protectorChristian Graus6-Apr-09 21:42 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.