繁体   English   中英

Ektron数据库中的自定义表

[英]custom table in Ektron database

我正在向Ektron数据库添加自定义表。 连接数据库的最佳实践是什么? 使用标准的ADO.NET代码,还是可以使用CMS与数据库的连接? 什么是最佳做法?

Ektron 8.0.1 SP1

将自定义表添加到Ektron数据库不会造成任何问题,如果仅要添加几个自定义表,则不需要另一个数据库。 更改Ektron表会产生问题,因此最好不要这样做。 要从“定制表”访问数据,请使用LINQ(请参阅: 此处)

我知道这个问题有点老了,可以回答,但是我想加两分钱。 虽然不建议更改Ektron的表(也就是说,没有它们提供的API或脚本),但是添加自己的表也没有害处。 如果Ektron不支持,他们将不会在eSync中提供“ 同步自定义表 ”选项。

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

这里有一些优点:

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

我说这些话的原因如下:

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

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

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

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

我会考虑使用其他数据库。 正如maddoxej所提到的那样,Ektron并不真的喜欢您弄乱SQL和表等。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM