我们使用的是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个字符的列。我想增加这个尺寸。因此,问题是:
非常感谢,
三苦
答案 0 :(得分:1)
导入时出现此错误仅在Oracle中发生,可能是因为Oracle处理扩展字符范围的方式。
还有其他三个选项需要解决它: 1.如果有问题的连接器是Stateflow,则运行Enterprise Architect的项目数据完整性检查:项目 - >数据管理 - >项目完整性检查
如果它不是StateFlow,那么您可以尝试在Oracle NLS_LENGTH_SEMANTICS ='CHAR'上设置选项;但是我会首先在非生产数据库上对此进行测试!!
如果清理数据库中的TOP_MID_LABEL字段,当Enterprise Architect再次加载图表时,它将使用元素名称动态填充它(如果该字段为空)。
我相信Sparx Systems的开发人员在工作中有更清晰的方式来处理这个问题,因此了解它们,可能会在不久的将来提供。
答案 1 :(得分:0)
要回答yopur问题的Oracle部分,扩展列很容易。 Oracle允许我们增加列大小,即使它们包含数据。 (如果我们想减少列大小,则情况并非如此:那么我们必须使用空列并重新填充数据。)
所以语法是:
alter table REPOUSER.T_CONNECTOR modify BTM_MID_LABEL varchar2(60) ;
......或者你认为足够大的任何价值。