Skip to content

Instantly share code, notes, and snippets.

@vegar
Created March 20, 2013 12:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vegar/5204165 to your computer and use it in GitHub Desktop.
Save vegar/5204165 to your computer and use it in GitHub Desktop.
db.ExecuteProcedure( ) fails for oracle
using System.Data;
using System.Data.OracleClient;
using ServiceStack.OrmLite;
using ServiceStack.OrmLite.Oracle;
namespace OrmLite.Oracle.Procedure
{
class Program
{
public class Test
{
public string p_input { get; set; }
}
static void Main(string[] args)
{
var dbf = new OrmLiteConnectionFactory(
"Data Source=man_kt1;User Id=servicestack_test;Password=servicestack_test;", OracleOrmLiteDialectProvider.Instance);
var db = dbf.OpenDbConnection();
db.ExecuteSql("create or replace procedure Test(p_input varchar2) is begin DBMS_OUTPUT.PUT_LINE('Hello World!'); end Test;");
//This one is ok:
db.Exec(
c =>
{
c.CommandType = CommandType.StoredProcedure;
c.CommandText = "Test";
c.Parameters.Add(new OracleParameter("p_input", "test"));
c.ExecuteNonQuery();
});
//This one fails:
db.ExecuteProcedure(new Test{p_input = "test"});
/*
ORA-06550: linje 1, kolonne 15:
PLS-00103: Støtte på symbolet PROCEDURE der ett av følgende var ventet:
:= . ( @ % ; immediate
Symbolet ":= ble satt inn foran PROCEDURE for å fortsette.
ORA-06550: linje 1, kolonne 39:
PLS-00103: Støtte på symbolet ; der ett av følgende var ventet:
( begin case declare end exception exit for goto if loop mod null
pragma raise return select update while with <an identifier>
<a double-quoted delimited-identifier
*/
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment