【发布时间】:2012-12-17 19:42:12
【问题描述】:
遇到问题后:
ORA-32108: 未指定最大列或参数大小
我研究了一下,发现了这两个问题:Why does Oracle 9i treat an empty string as NULL? 和 Oracle not distinguishing between nulls and empty strings?。
这些问题解释了我得到的错误。但这让我想到了下一个问题——如何在 Oracle 的 ResultSet 中将空字符串作为字段值返回?
到目前为止我所拥有的是:
- 创建语句
- 注册输出参数为
oracle::occi::OCCICURSOR -
execute声明 - 我调用
GetCursor来使用返回的结果集
由于上述错误,execute 失败。
那么,如何在结果集中返回这样的字段,其值为空字符串 ('')?
换句话说,我不知道如何应用指定HERE 的操作 - 它是服务器端的吗?或者我应该在我的代码中添加一些东西?还是在存储过程中,返回这个结果集?
我使用 OCCI(Oracle C++ 调用接口)。我目前的解决方法是返回一个字符串,其中包含一个空格 (' '),但我不喜欢它。
【问题讨论】:
-
这意味着您希望返回一个完全为空的列?你可以看看 cast 是否会起作用,
cast( null as varchar2(1))。 -
啊,这个演员阵容就像一个魅力!谢谢!您可以将其添加为答案吗?
-
我很高兴!我已将其添加为答案。