问题现象如题:
使用ADO方式连接ORACLE数据执行存储过程,当入参字节数超过32k即32768字节时执行存储过程Execute报错:ORA-01460: 转换请求无法实施或不合理,字符串长度在1-32767字节时无该问题。
问题分析:
ADO连接ORACLE数据库连接串方式一(在Open函数中指定用户和密码):
Provider=OraOLEDB.Oracle.1;Data Source=配置的TNS文件服务名 ;PLSQLRSet=1
HRESULT hr = m_pConnection->Open(_bstr_t(szConn), 用户, 密码, adModeUnknown);
ADO连接ORACLE数据库连接串方式二(在连接串中指定用户和密码):
Provider=OraOLEDB.Oracle;Data Source=配置的TNS文件服务名;user id=用户;password=密码;PLSQLRSet=1
HRESULT hr = m_pConnection->Open(_bstr_t(szConn), 用户, 密码, adModeUnknown);
问题解决:
出现如标题问题现象是由于之前连接字符串中没有配置PLSQLRSet=1,故有此问题产生,连接字符串中增加后问题解决