【问题标题】:custom table in Ektron databaseEktron 数据库中的自定义表
【发布时间】:2012-02-27 21:31:25
【问题描述】:

我正在向 Ektron 数据库添加一个自定义表。连接到数据库的最佳做法是什么?使用标准 ADO.NET 代码还是有办法使用 CMS 与数据库的连接?最佳做法是什么?

Ektron 8.0.1 SP1

【问题讨论】:

    标签: ektron


    【解决方案1】:

    将自定义表添加到 Ektron 数据库不会导致任何问题,如果您只需要添加少量自定义表,则不需要另一个数据库。 更改 Ektron 表会产生问题,因此最好不要这样做。 要访问自定义表中的数据,请使用 LINQ(请参阅:here)

    【讨论】:

    • 我有另一个数据库,其中包含一些定期更新的信息。我有一个智能表单,其中包含一些我想更新的数据。我注意到 SQL 表中的列,智能表单中的所有信息都添加了 XML。我联系了 Ektron,他们说有一个 API,但不太确定。有什么想法吗?
    【解决方案2】:

    我知道这个问题有点老了,但我想加两分钱。虽然不建议更改 Ektron 的表格(也就是说,没有他们提供的 API 或脚本),但添加您自己的表格并没有什么坏处。如果 Ektron 不支持它,他们将不会在 eSync 中提供“Sync Custom Tables”选项。

    【讨论】:

      【解决方案3】:

      我遇到了这个问题,并认为我可以在讨论中添加一些内容,以防有人考虑将自定义表添加到 Ektron 数据库。我认为这个主题仍然与当前版本的 Ektron 相关,并且可能会有所帮助。

      这里有一些优点:

      1. 不要更改由 Ektron 创建的表。 (Bisileesh 在下面的扩展评论中提出的观点)
      2. 建议在某些情况下将自定义表添加到 Ektron 数据库。
      3. 可能建议使用智能表单作为内容,但有时它不是最佳选择。

      以下是我说这些话的一些原因:

      1. 出于多种原因,您不应更改 Ektron 创建的表。基本上您不想更改这些,因为 Ektron 软件依赖于这些表,修改可能会导致错误。除了可能造成破坏之外,如果您升级 Ektron,Ektron 更新可能会更改表定义并删除您的更改。
      2. 与添加新数据库相比,将表添加到现有 Ektron 数据库是一个好主意,原因有很多。
        首先,添加表时不会在服务器上产生完整数据库结构的额外成本。
        其次,如果您在多服务器环境(开发、登台、实时)中工作,通过将表添加到 Ektron 数据库,您将能够使用 eSync 来管理服务器之间的数据传输。如果您使用自己的数据库,则需要在其他地方管理同步。
        我最初的想法是使用我自己的数据库更好,但多年来我发现了使用 Ektron 数据库的优势。就像您使用自己的数据库一样,您应该保存脚本以创建自定义表并定期执行数据库备份以确保您受到保护。
        进行 Ektron 升级后,您应该确保您的自定义表仍然存在于 Ektron 数据库中。
        在为自定义表设置 eSync 时,我必须首先在一个空表上运行同步。运行同步以建立关系后,我能够添加数据。还有一个要求是自定义表上有一个主键,我认为它不能是一个自动递增的字段。请咨询 Ektron 了解最新要求。
      3. 在考虑是否将数据添加到智能表单或自定义表格时,需要考虑以下事项。如果您使用智能表格,则表示您承诺使用 Ektron 提供的控件来访问您的数据。根据您的要求和 Ektron 的当前状态,这可能是好事也可能是坏事。
        就我而言,搜索很重要。在 7.6 和 8.0 版本中,Ektron 搜索存在问题,跨多个字段进行布尔搜索并不容易。为了克服这个问题,我使用了可以直接查询的自定义表。 8.6 版中的搜索已更改,但我仍然使用我的自定义解决方案,所以我不知道现在情况是否更好。
        智能表单和 Ektron Workarea 还带来了其他数据管理问题在其他一些情况下避免使用智能表单也是一个好主意。存储数据的最佳位置不是一个地方或另一个地方,这取决于您的要求。

      【讨论】:

        【解决方案4】:

        最佳做法是不使用自定义表格。如果您可以将数据存储为智能表单,则用户可以使用工作区来编辑他们的数据。如果非要使用自定义表格,有几种方法:

        一种方法是从 ASPX 页面中的 web.config 中提取连接字符串

        <asp:SqlDataSource ID="EktronSqlDataSource" runat="server" ConnectionString="<%$ConnectionStrings:Ektron.DBConnection %>" ></asp:SqlDataSource>
        

        【讨论】:

        • 我正在存储一个邮政编码数据表以进行距离计算,因此用户永远不会编辑它。
        【解决方案5】:

        我会考虑使用不同的数据库。正如 maddoxej 所提到的,Ektron 真的不喜欢你搞乱 SQL 和表之类的东西。

        当然,您可能出于管理原因使用一个数据库,但出于可维护性的考虑,我认为值得拥有您完全控制的第二个数据库。

        【讨论】:

        • 这是我决定对自定义表格执行的操作,并且效果很好。有时我会陷入 CMS 做事的方式,忘记了我仍然可以在网站的页面上拥有基本的 .NET 和 ADO 功能。
        • 不过,我最终决定使用 Google 的地理编码 API 来获取地址和邮政编码的纬度/经度,而不必在服务器上托管我自己的邮政编码数据库。
        【解决方案6】:

        您可以添加自定义表格而不影响现有表格。但是要使用它们,您每次都需要自定义控件。比如自定义布局、自定义表单、自定义小部件。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-03-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-09-20
          相关资源
          最近更新 更多