2011-04-21 115 views
1

我想要设计一个存储过程/函数创建器程序,用户可以在其中创建存储过程和函数 。我想从我的C#程序编译sp或函数。如果发现任何错误,我想显示给用户。如何做到这一点? Toad或SQL Navigator具有相同的功能。如何从C#编译存储过程?

回答

1

我没有一个可用的例子,但是您可以使用execute immediate来运行DDL。

如果您的DDL大于32K并且您在11g上,只需使用clob来存储DDL。疼痛始于32K和10G或更低。在那里你必须使用DBMS_SQL.parse并将你的DDL作为一个数组传递。

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