Created
March 20, 2013 12:07
-
-
Save vegar/5204165 to your computer and use it in GitHub Desktop.
db.ExecuteProcedure( ) fails for oracle
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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