gpt4 book ai didi

.net - ODP.NET程序编译

转载 作者:行者123 更新时间:2023-12-02 18:47:47 26 4
gpt4 key购买 nike

当我尝试使用 ODP.NET 执行创建过程时,我得到了 ORA-24344: success with compiling error 的信息。但是,当我在 SQL Developer 中运行相同的语句时,它编译成功。有谁知道我需要更改什么才能编译我的程序?是字符集问题吗?

我使用的是 Oracle 10g Express、.NET 3.5 SP 1 和 ODP.NET 2.111.7.20(来自 Oracle.DataAccess.dll 的版本)

    [TestMethod]
public void OdpNet_CreateProcedure()
{
ConnectionStringSettings settings = ConfigurationManager.ConnectionStrings["ODP.NET"];
using (var con = new OracleConnection(settings.ConnectionString))
{
con.InfoMessage += new OracleInfoMessageEventHandler(con_InfoMessage);
con.Open();

var cmd = new OracleCommand();
cmd.Connection = con;

cmd.CommandText = @"
CREATE OR REPLACE PROCEDURE TABLE1_GET
(
P_CURSOR OUT SYS_REFCURSOR
)
IS
BEGIN

OPEN P_CURSOR FOR
SELECT *
FROM TABLE1;

END;";

cmd.ExecuteNonQuery(); // ORA-24344: success with compilation error

cmd.CommandText = @"ALTER PROCEDURE TABLE1_GET COMPILE";
cmd.ExecuteNonQuery(); // ORA-24344: success with compilation error
}
}

void con_InfoMessage(object sender, OracleInfoMessageEventArgs eventArgs)
{
System.Diagnostics.Debug.WriteLine(eventArgs.Message);
}

最佳答案

解决办法是:

cmd.CommandText = cmd.CommandText.Replace("\r\n", "\n");

关于.net - ODP.NET程序编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2769561/

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