Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .NET核心Web API-无法插入调用Oracle存储过程的记录_C#_Oracle_Stored Procedures_.net Core_Asp.net Core Webapi - Fatal编程技术网

C# .NET核心Web API-无法插入调用Oracle存储过程的记录

C# .NET核心Web API-无法插入调用Oracle存储过程的记录,c#,oracle,stored-procedures,.net-core,asp.net-core-webapi,C#,Oracle,Stored Procedures,.net Core,Asp.net Core Webapi,当我使用Postman向WebAPI发送帖子时,记录被成功创建,但当我从代码运行它时,我收到一个“ORA-03115:不支持的网络数据类型或表示形式”” 以下是我的Oracle 11g存储过程: CREATE OR REPLACE PROCEDURE ADD_REGION(ROMANO IN REGION.ROMANO%TYPE,NOMBRE IN REGION.NOMBRE%TYPE, RESULTADO_OK OUT BOOLEAN ) AS BEGIN INSERT INTO REGION

当我使用Postman向WebAPI发送帖子时,记录被成功创建,但当我从代码运行它时,我收到一个“ORA-03115:不支持的网络数据类型或表示形式”

以下是我的Oracle 11g存储过程:

CREATE OR REPLACE PROCEDURE ADD_REGION(ROMANO IN REGION.ROMANO%TYPE,NOMBRE IN REGION.NOMBRE%TYPE, RESULTADO_OK OUT BOOLEAN )
AS
BEGIN
INSERT INTO REGION (ID,ROMANO,NOMBRE)
VALUES(SEQ_REGION.NEXTVAL,ROMANO,NOMBRE);
COMMIT;
RESULTADO_OK :=TRUE ;
EXCEPTION
WHEN OTHERS THEN RESULTADO_OK:=FALSE ;
END ADD_REGION;
我在.NET Core WebAPI中的代码:

OracleCommand command = new OracleCommand("ADD_REGION", conn);
command.CommandType = System.Data.CommandType.StoredProcedure;

OracleParameter InNombre = command.Parameters.Add("NOMBRE", OracleDbType.Varchar2);
InNombre.Direction = System.Data.ParameterDirection.Input;
InNombre.Value = "Test Name";

OracleParameter InRomano = command.Parameters.Add("ROMANO", OracleDbType.Varchar2);
InRomano.Direction = System.Data.ParameterDirection.Input;
InRomano.Value = "Test Romano";

OracleParameter OUTparameter = command.Parameters.Add("RESULTADO_OK", OracleDbType.Boolean);
OUTparameter.Direction = System.Data.ParameterDirection.Output;

command.ExecuteNonQuery();

return (bool)(OracleBoolean)OUTparameter.Value;
导致异常的行是:

command.ExecuteNonQuery();
我已经被这个问题困扰了一段时间,所以我希望得到一些指导

问候,

巴勃罗


PS:我正在使用Oracle.ManagedDataAccess.Core 2.19.50。

您可以尝试使用
command..executeQuery()运行吗并共享结果。OracleCommand没有ExecuteQuery()的定义。我尝试了ExecuteReader(),但也遇到了上面解释的相同错误。我注意到您正在以不同的命名顺序传递参数-看不出这是错误的原因,但对结果没有帮助。请编辑您的问题并提供连接字符串信息(当然,密码除外)我终于可以解决了。问题是布尔参数,我使用了整型数据类型,它起作用了。然后,我在应用程序中将其解析为bool。您可以尝试使用
command..executeQuery()运行吗并共享结果。OracleCommand没有ExecuteQuery()的定义。我尝试了ExecuteReader(),但也遇到了上面解释的相同错误。我注意到您正在以不同的命名顺序传递参数-看不出这是错误的原因,但对结果没有帮助。请编辑您的问题并提供连接字符串信息(当然,密码除外)我终于可以解决了。问题是布尔参数,我使用了整型数据类型,它起作用了。然后,我在应用程序中将其解析为bool。