Sparx Enterprise Architect Oracle XE存储库:将列宽增加到50个字符以上

时间:2013-03-25 15:00:07

标签: database oracle repository enterprise-architect

我们使用的是Sparx Enterprise Architect(EA 9.2)和数据库支持的存储库(Oracle XE 11,使用Windows OLE / ODBC驱动程序)。我们所有人都在使用Windows Vista 32位。

导入模型时,我们反复遇到以下EA错误:

OraOLEDB
ORA-12899: value too large for column "REPOUSER"."T_CONNECTOR"."BTM_MID_LABEL" 
  (actual: 52, maximum: 50)

似乎创建了一些宽度仅为50个字符的列。我想增加这个尺寸。因此,问题是:

  1. EA 9.2是否支持更宽的列?有没有人成功地尝试过这个项目?
  2. 如果“是”:EA 9.2如何对数据库端值增加做出反应?我需要重新创建连接吗?
  3. 如果两个问题的答案都是“是”:有没有人在运行时“扩展”Oracle XE 11 列的任何经验,而不会转储并重新导入到新模式中?< / LI>

    非常感谢,

    三苦

2 个答案:

答案 0 :(得分:1)

导入时出现此错误仅在Oracle中发生,可能是因为Oracle处理扩展字符范围的方式。

还有其他三个选项需要解决它: 1.如果有问题的连接器是Stateflow,则运行Enterprise Architect的项目数据完整性检查:项目 - &gt;数据管理 - &gt;项目完整性检查

  1. 如果它不是StateFlow,那么您可以尝试在Oracle NLS_LENGTH_SEMANTICS ='CHAR'上设置选项;但是我会首先在非生产数据库上对此进行测试!!

  2. 如果清理数据库中的TOP_MID_LABEL字段,当Enterprise Architect再次加载图表时,它将使用元素名称动态填充它(如果该字段为空)。

  3. 我相信Sparx Systems的开发人员在工作中有更清晰的方式来处理这个问题,因此了解它们,可能会在不久的将来提供。

答案 1 :(得分:0)

要回答yopur问题的Oracle部分,扩展列很容易。 Oracle允许我们增加列大小,即使它们包含数据。 (如果我们想减少列大小,则情况并非如此:那么我们必须使用空列并重新填充数据。)

所以语法是:

 alter table REPOUSER.T_CONNECTOR modify BTM_MID_LABEL varchar2(60) ;

......或者你认为足够大的任何价值。