0

有没有关于如何使用 OCI 绑定变量的好文档?我无法绑定出绑定变量。buf 与存储过程中的“OUT”变量绑定。

问题1:我需要预先分配内存buf吗?或者 OCI 可以做到这一点?

问题2:有没有办法知道存储了多少字节的字符buf?或者只是把它当作一个以空结尾的 C 字符串?

int pos; 
char* buf; 
size_t len;
int rc = OCIBindByPos( Stmt, &bind, errhp, pos, buf, len, SQLT_STR,
                       NULL, NULL, NULL, 0, NULL, OCI_DEFAULT );
4

1 回答 1

0

问题一:buf需要预先分配内存吗?或者 OCI 可以做到这一点?是的,你当然需要。您需要使用 OCIHandle

OCIHandleAlloc((dvoid *)OCIEnv, (dvoid **)&OCIStmt, OCI_HTYPE_STMT, len, 
                      (dvoid **)&buf);

问题2:有没有办法知道buf中存储了多少字节的字符?或者只是把它当作一个以空结尾的 C 字符串?

OCIBindByPos

你告诉多少字节。

于 2013-11-04T09:43:18.307 回答