gpt4 book ai didi

stored-procedures - BLToolkit Oracle SP 支持

转载 作者:行者123 更新时间:2023-12-04 08:36:47 25 4
gpt4 key购买 nike

BLT 是否支持 Oracle 存储过程?我尝试了多种方法,如下所述,以使其正常工作,但没有运气。存储过程更新具有多个值的表。这是存储过程,一个小的测试过程。

DROP PROCEDURE BETA_AUTO_UPDATE;
/

CREATE OR REPLACE PROCEDURE BETA_AUTO_UPDATE
(
AutoId IN NUMBER,
Rule IN NVARCHAR2,
Nam IN NVARCHAR2,
Loc IN NVARCHAR2
)
IS
BEGIN

UPDATE Beta_Auto
SET RuleGuid = Rule,
Name = Nam,
Location = Loc
WHERE Id=AutoId;

EXCEPTION
WHEN OTHERS THEN
RAISE_APPLICATION_ERROR(-20001, 'ERROR OCCURED DURING UPDATE');


END BETA_AUTO_UPDATE;
/

尝试了以下
        DbManager.AddDataProvider(new OdpDataProvider());
DbManager OracleDb = new DbManager("BetaOracleDBConn");

Beta_Auto Betar = new Beta_Auto();
Betar.ID = 1;
Betar.Name = "Jim";
Betar.RuleGuid = "jlDKDKDKDKDKDKp";
Betar.Location = "LocDLDLDLDLDtor";

OracleDb.SetSpCommand("Beta_Auto_UPDATE",
OracleDb.CreateParameters(Betar)).ExecuteNonQuery();

那没有用。

试过这个
        [ActionName("UPDATE")]
public abstract void Update(Beta_Auto Auto);

那没有用。

试过这个:
        [SprocName("Beta_Auto_Update")]
public abstract void UpdateByParam(
[Direction.InputOutput("ID", "RuleGuid", "Name", "Location")] Beta_Auto Auto);

那没有用。
          [SprocName("Beta_Auto_Update")]
public abstract void UpdateByParam(int Id, string RuleGuid, string Name, string Location);

也试过这个:
[ActionName("Update")]
public abstract void UpdateByParam(int Id, string RuleGuid, string Name, string Location);

那没有用。

将 odp.net 上的跟踪级别设置为 7。看到正在调用,但看不到任何参数。为企业 Oracle 换出 XE(认为这可能是一个许可问题,因为 db 大于 5GB)。没用。

创建一个新用户、数据文件、表空间,并为用户分配所有角色和权限,包括执行任何过程。没用。

我运行了一个标准的 ado.net(非常啰嗦)通过 OracleCommand 调用存储过程它完美地调用并进行了更新。

我难住了。以上所有工作都适用于 SQL Server。

谢谢。
scope_creep

最佳答案

我这样做

        var parameters = OracleDb.GetSpParameters("BETA_AUTO_UPDATE", true, true);

parameters.SetParamValue("pParam1", param1);
parameters.SetParamValue("pParam2", param2);
...

OracleDb.SetSpCommand("BETA_AUTO_UPDATE", parameters).ExecuteNonQuery();

这是一个额外的往返,但由于我只将存储过程用于几个大批量更新,所以这并不重要,(正常/简单更新是通过 Linq DML 操作完成的)

关于stored-procedures - BLToolkit Oracle SP 支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6764989/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com