Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何确定PL/SQL绑定值的QString保留大小_C++_String_Oracle_Qt_Plsql - Fatal编程技术网

C++ 如何确定PL/SQL绑定值的QString保留大小

C++ 如何确定PL/SQL绑定值的QString保留大小,c++,string,oracle,qt,plsql,C++,String,Oracle,Qt,Plsql,我试图将查询中的CLOB加载到Oracle PL/SQL的字符串绑定值中 执行此操作的代码是: QString testStr ="*****"; // testStr.truncate(0); testStr.reserve( 1000000 ); qDebug() << testStr.capacity(); query.bindValue(":result_clob", testStr, QSql::Out); bool query_executed_ok = query.ex

我试图将查询中的CLOB加载到Oracle PL/SQL的字符串绑定值中

执行此操作的代码是:

QString testStr ="*****";
// testStr.truncate(0);
testStr.reserve( 1000000 );
qDebug() << testStr.capacity();
query.bindValue(":result_clob", testStr, QSql::Out);
bool query_executed_ok = query.exec();
qDebug() << "did it execute?" << query_executed_ok;
if (query_executed_ok) {
    testStr = query.boundValue(":result_clob").toString();
    qDebug() << testStr;
} else {
    qDebug() << "string is empty";
}
QString testStr=“*******”;
//testStr.truncate(0);
试验储备(1000000);

qDebug()您可以展示一个正在使用的select查询的示例吗?实际上,这种Culb数据能得到多大的数据?错误来自Oracle而不是C++代码。QString对象的保留容量不太可能与它有任何关系。这是一个过程调用-在它的末尾,我将CLOB字符串分配给绑定的返回值
:result\u CLOB:=l\u CLOB至于长度,它可能根据用户可以请求的数据量而有所不同。我可以在过程中设置一个上限,以帮助减少缓冲区耗尽的机会。至于来自Oracle的错误。我也这么认为。在我之前的帖子(上面的链接)中,我提到了错误<代码> ORA-06502,但同样,当我改变了C++代码,而不是PL/SQL,字符串预备大小时,它才开始工作并打印字符串。