【问题标题】:Deploying Oracle PL/SQL Packages using a .Net deployment project使用 .Net 部署项目部署 Oracle PL/SQL 包
【发布时间】:2010-11-20 13:04:29
【问题描述】:

我正在尝试为需要配置 Oracle 数据库模式的解决方案组合部署包。该模式包含大多数 Oracle 对象类型,以一种或另一种形式存在。

我想完全从部署应用程序运行部署,并创建了一个自定义安装任务来执行大部分操作。

我可以毫无问题地创建表和视图,但我无法通过 .Net 数据访问工具创建 PL/SQL 包。

谁能告诉我他们是如何使用 .Net Framework 2.0 解决这个问题的,以及使用了哪个 Oracle 数据客户端?

编辑:我目前从命令行运行 SQL 脚本,但从安装程序中调用这些脚本。这并没有提供我正在寻找的反馈级别,尽管它允许我在大多数情况下快速部署应用程序。

由于我正在部署的架构没有创建触发器的权限,我也让这种方法失败了。

【问题讨论】:

    标签: .net oracle deployment package


    【解决方案1】:

    [不是您要找的答案]

    我对 Oracle 的体验是它们受到 DBA 的“保护”。我遇到的每个 DBA 都会对您在 他们的数据库 中创建对象的方式犹豫不决。

    您可能希望牢记这一点,并通过简单的 SQL 脚本实际创建所有 Oracle 对象。像这样的 DBA,因为他们可以在运行它们之前检查它们,然后问你很多问题,因为他们不知道业务需求是什么,这解释了为什么你有这种表设计。

    这是一个非常简单的解决方案 - 我确信您正在尝试让您的安装在我理解的一次通过中运行。在有人转身告诉你不能那样做之前,你可能已经付出了很多努力。

    【讨论】:

    • 谢谢克里斯。我希望将其作为单次通过,按下按钮并运行安装,通常这将采用全新的模式。任何数据库链接都需要手动设置,如果模式设置正确,这应该使部署隔离。我完全知道 DBA 保护他们的域的意思......提供 99% 以上正常运行时间的第 3 方提供商完全有权利感到紧张!
    【解决方案2】:

    事实证明,来自 Oracle 的 Oracle 数据访问组件比 Microsoft 组件更好地处理创建包。

    如果我使用 ExecuteNonQuery 命令运行适当的代码,则可以创建包、函数或过程。

    我仍然无法运行完整的脚本,但我应该能够解析脚本文件以只运行适当的 SQL,而不需要付出很大的努力。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多