起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 261|回复: 14

【结贴】sqltpy 改为CLOB类型的问题

[复制链接]
发表于 2009-6-23 18:19:34 | 显示全部楼层 |阅读模式
我看论坛里很多转换为ORACLE的 CLOB都是通过 设置SQLTYPE,但这样有个问题就是以后无法生成物理表,为什么不直接直接使用X3里的文本类型呢 ,也就是BLOB类型,我测试了BLOB类型修改表结构是可以生成物理表的。
因为当初我也不知道BLOB可以避免这个隐患,所以也是用了CLOB类型,现在我要增加了字段,就无法生成物理表(现在用户已经使用,数据也是很多),如果在PL/SQL里增加,那么在信息层是读不到的,增删改都是比较麻烦的。也就是说代码都要改,这样是不现实的,不知道各位遇到这样的问题如何处理,希望各位和我说使用经验,谢谢。

---------选择右键的生成物理表的选项是下面三项

11.jpg

34.49 KB, 下载次数: 110

回复

使用道具 举报

发表于 2009-6-24 08:58:26 | 显示全部楼层
楼主,你如果想让平台在创建物理表时,修改默认的对应关系(平台的字段类型屏蔽不同数据库间的差异),就需要设置sqltype去修改这个对应关系。
设置字段的sqltype为Oracle=Clob后,平台是可以创建物理表的,这样创建出来的物理字段类型就是clob。(oracle10g,3102)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-24 09:03:57 | 显示全部楼层
第一次设置为CLOB 是可以生成物理表的,这个没有问题,现在的问题是原来的表有字段是CLOB类型,现在我想去给这个表增加一个字段,或者修改其他字段长度,只要是有任何修改再重新生成物理表就无法生成了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-24 09:23:48 | 显示全部楼层
现在客户要增加一个字段,我无法生成物理表了,不知道怎么办好?如果用比较笨的方法就是先把数据弄出来再新建一个表,然后再把数据导进去,我们客户用了,都是很多的数据,客户也多,不是一般的工作量,希望能有其他方法解决
回复 支持 反对

使用道具 举报

发表于 2009-6-24 09:24:55 | 显示全部楼层
带clob字段的表且有数据的情况下,创建物理表选择保留数据时,确实入楼主所说。

是否可以这样:直接在数据库中做修改,然后在平台中重新生成一下数据字典。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-24 09:35:01 | 显示全部楼层
是否可以这样:直接在数据库中做修改,然后在平台中重新生成一下数据字典。
--------------------------------
是怎么生成数据字典呢,
我现在试即使不修改表结构,你再去生成物理表,同样都会出错的,都会提示建表错误: ExecuteSQL error: ORA-00932: 数据类型不一致: 应为 BLOB, 但却获得 CLOB
也就是说只要你这个表有生成过了, 以后都无法重新生成物理表了,也就是说只能是第一次生成,以后都无法生成了
回复 支持 反对

使用道具 举报

发表于 2009-6-24 09:38:19 | 显示全部楼层
生成数据字典:在studio中选择逻辑数据库这个对象,鼠标右键,有生成数据字典和数据差异比较(建议用数据差异比较)

在studio中不修改表结构,再去创建物理表选择保留数据的选项是没有问题的。
在studio中修改表结构后,再去创建物理表如果不选择保留数据那个选项的话也是可以成功的。
回复 支持 反对

使用道具 举报

发表于 2009-6-24 09:38:20 | 显示全部楼层
生成数据字典:在studio中选择逻辑数据库这个对象,鼠标右键,有生成数据字典和数据差异比较(建议用数据差异比较)

在studio中不修改表结构,再去创建物理表选择保留数据的选项是没有问题的。
在studio中修改表结构后,再去创建物理表如果不选择保留数据那个选项的话也是可以成功的。
回复 支持 反对

使用道具 举报

发表于 2009-6-24 09:38:20 | 显示全部楼层
生成数据字典:在studio中选择逻辑数据库这个对象,鼠标右键,有生成数据字典和数据差异比较(建议用数据差异比较)

在studio中不修改表结构,再去创建物理表选择保留数据的选项是没有问题的。
在studio中修改表结构后,再去创建物理表如果不选择保留数据那个选项的话也是可以成功的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-24 09:47:31 | 显示全部楼层
还是不明白 在选择表右键应该只有生成物理表,我不知道和你说的意思是否一样,我截个图,而且我现在想要的结果是要修改表结构然后可以生成物理表,不知道能否实现,如果不增加字段的情况下,把表里一个不用的字段改一下长度也可以,但问题现在是无法生成物理表
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-19 19:38 , Processed in 0.040136 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表