informix 几个常见问题对数据库版本的要求

informix 几个常见问题对数据库版本的要求[@more@]

一、 sequence 的支持

结论:
9.4以后的版本都支持 sequence

二、lvarchar 数据类型是否可以跨数据库以及数据库服务器访问

结论:
9.4版本 不支持 lvarchar 类型跨数据库以及数据库服务器访问
10.00版本 支持 lvarchar 类型跨数据库以及数据库服务器访问
11.5版本 支持 lvarchar 类型跨数据库以及数据库服务器访问

系统报错信息为:
999: Not implemented yet.


三、select 与 where 子句对 varchar 数据类型所支持的最大长度

结论:
9.4版本 不支持 select 与 where 子句 varchar 数据类型长度超过255字节。
10.00版本 不支持 select 与 where 子句 varchar 数据类型长度超过255字节。
11.5版本 支持 select 与 where 子句 varchar 数据类型长度超过255字节。
否则系统将报错:
881: Resulting string length from TRIM exceeds the limit.

解决方法:

select
cast(nvl(c0,'') as lvarchar(255))
||cast(nvl(c1,'') as lvarchar(255))
from lileilei where
cast(nvl(c0,'') as lvarchar(255))
||cast(nvl(c1,'') as lvarchar(255))
like '%a%';


四、select 与 where 子句对 lvarchar 数据类型所支持的最大长度

结论:
9.4 以后的版本对 lvarchar 数据类型在 select 与 where 子句的长度都可以达到32765.

五、是否支持外部函数

结论:
9.12 以后的版本都支持使用 C 语言设计和开发 DataBlade 模块来支持自定义类型(UDT)和自定义函数(UDR)。

开发 DataBlade 模块的大致过程:
1. 安装 IBM Informix DataBlade Developer's Kit(DBDK)。
2. 用 C 语言开发UDT或UDR
3. 编译 C UDR 并创建一个共享库。
cc -c -fPIC -I?$INFORMIXDIR/incl/public imageUDR.c
ld -shared -melf_x86_64 -Bsymbolic -o imageUDR.so imageUDR.o
4. 注册 C UDR (就像在informix 中创建一个函数一样)
CREATE FUNCTION avgRGB( blob ) RETURNS INTEGER
WITH ( NOT VARIANT, HANDLESNULLS )
EXTERNAL NAME '?$INFORMIXDIR/extend/imageUDR.so( avgRGB )'
LANGUAGE C;
5. 像使用系统内部类型和函数一样使用 UDT、UDR
select name,avgRed(image) as avgRed from images;

以上问题1-4是在现场或部门服务器测试的结果(包括10.00版本的IDS),问题5参考以下网站:
http://www.xland.com.cn/article/74/191/0811/29887_2.htm
http://topic.csdn.net/u/20081224/10/78d142a0-1bab-4c65-bf94-67f29bf4491f.html
http://www.ibm.com/developerworks/cn/data/library/techarticles/0207kelley/0207kelley.html

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22565551/viewspace-1028291/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22565551/viewspace-1028291/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值