Pb datawindow 支持大于255个字符列的处理说明

href="file:///C:/DOCUME~1/ZHAOQI~1/LOCALS~1/Temp/msohtml1/01/clip_filelist.xml" rel="File-List" />

产生原因分析:

对于datawindowchar族类型不支持大于255个字符的总结与处理方法。

 

在早期的Sybase数据库(ase 11.9之前)中不支持大约255个字符的varchar类型,这可能是造成它的配套开发工具pb中对char族类型不支持大于255个字符的原因。

 

pb6.5中检索大于255个字符的char族类型列时,sql serverASAOracle会被截断,这个应该是pb6.5的特定数据库连接驱动中进行了处理。因为如果把连接方式换成ODBC连接的话,测试会发现大于255的字符数据可以被成功提取

 

需求背景:

但是在实际的应用过程中,尤其对一些描述性或备注性信息,255个字符显然是有些太小。那么怎么突破这个限制哪?对不同的数据库我们又怎么能进行一致的处理哪?

 

解决方法:

1.对于sybase11.9之前的数据库,不支持大约255个字符的列定义,所以需要设置列为text类型(sql server,asa 也可以这样设置)

Alter table [table_name] add [column_name] text null

 

对于Oracle可以设置列为clob

Alter table [table_name] add [column_name]  clob null

 

2.然后把数据窗口export出来,把列长度改为小于32000的相应长度,text类型的列建议改为32000。还要注意import进数据窗口后,改一下对应的limit的值(最好不要设为0,也不能大于32765),否则可能显示不全,或无法录入数据

 

测试数据:

 

测试环境:

       Oracle 9i

       Sybase 11.9

       Asa 9.0

       Sql server 2000

 

备注:

1.  ASA中的text类型是long varchar的别名

2.  要特别注意在oracle下,数据窗口中的列长度不能大于32765,肯定是数据库连接驱动中进行了限制

3.  对于oraclemssasa支持场varchar类型的数据库,也不要建为varchar(2000)这样的列。必须建为text,clob类型的列

4.  一个表中,text/clob类型列不要太多,最好只要一个

©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值