面临的问题后:如何在结果集(使用SYS_REFCURSOR)在Oracle数据库返回空字符串
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(null作为varchar2(1))'。 – Ben
啊,这个演员就像一个魅力!谢谢!你可以添加它作为答案? –
我很高兴!我已经将其添加为答案。 – Ben