Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.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#编译存储过程?_C#_Oracle - Fatal编程技术网

如何从C#编译存储过程?

如何从C#编译存储过程?,c#,oracle,C#,Oracle,我想设计一个存储过程/函数创建者程序,用户可以在其中创建存储过程 程序和功能。我想从我的C#程序编译sp或函数。如果发现任何bug,我想向用户展示。如何做到这一点?Toad或SQL Navigator中也提供了相同的功能。如果您有一个实现IDbCommand的c#command对象,则可以对其调用.Prepare()方法来预编译SP,并将任何错误反馈给用户: 如果您有一个实现IDbCommand的c#command对象,那么您可以在该对象上调用.Prepare()方法来预编译SP并将任何错误反馈

我想设计一个存储过程/函数创建者程序,用户可以在其中创建存储过程 程序和功能。我想从我的C#程序编译sp或函数。如果发现任何bug,我想向用户展示。如何做到这一点?Toad或SQL Navigator中也提供了相同的功能。

如果您有一个实现IDbCommand的c#command对象,则可以对其调用.Prepare()方法来预编译SP,并将任何错误反馈给用户:

如果您有一个实现IDbCommand的c#command对象,那么您可以在该对象上调用.Prepare()方法来预编译SP并将任何错误反馈给用户:


我手头没有一个有效的示例,但是您可以使用
立即执行
非常轻松地运行DDL

如果您的DDL大于32K,并且您使用的是11g,只需使用clob存储DDL即可。疼痛从大于32 K和10克或以下开始。在这里,您必须使用DBMS_SQL.parse并将DDL作为数组传递


为了显示编译错误,您可以首先捕获运行DDL时抛出的任何异常。然后查询“ALL_ERRORS”以查找详细的编译器消息。

我手头没有可用的示例,但是您可以使用
executeimmediate
非常轻松地运行DDL

如果您的DDL大于32K,并且您使用的是11g,只需使用clob存储DDL即可。疼痛从大于32 K和10克或以下开始。在这里,您必须使用DBMS_SQL.parse并将DDL作为数组传递

为了显示编译错误,您可以首先捕获运行DDL时抛出的任何异常。然后查询“ALL_ERRORS”以查找详细的编译器消息