- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试通过 OCCI Oracle 查询在 ResultSet
上执行 getString
,但我总是得到 _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)
断言。我的项目是多线程调试,我尝试将其设置为单线程调试,正如我在网上发现的那样,但这没有区别。
我有点不知道是什么导致了这个断言的发生。有人可以帮忙吗?
看来我只有 getString()
函数有它,其他任何函数都没有。
oracle::occi::Environment* environment;
oracle::occi::Connection* con;
oracle::occi::Statement* stmt;
oracle::occi::ResultSet* res;
try{
environment = oracle::occi::Environment::createEnvironment(oracle::occi::Environment::DEFAULT);
con = environment->createConnection("db", "pssw", "DATABASE");
std::cout << "created connection" << std::endl;
std::stringstream query;
query << "SELECT MOD_KEY, MOD_SCRIPTLANGUAGE, MOD_SOURCE, MOD_CODE, MOD_STYLE, MOD_TYPE ";
query << "FROM DB.MEDICAL_OBS_DEF ";
query << "WHERE MOD_KEY = 735";
stmt = con->createStatement(query.str());
res = stmt->executeQuery();
res->setMaxColumnSize(3,100);
std::cout << "executed query" << std::endl;
std::string mystring;
while (res->next())
{
/*mystring = */res->getString(3); ///_BLOCK_TYPE_IS_VALID(pHead->nBlockUse) Assert!
}
std::cout << "printed resultset" << std::endl;
stmt->closeResultSet(res);
con->terminateStatement(stmt);
environment->terminateConnection(con);
}catch(oracle::occi::SQLException &e){
std::cout<<e.what();
}
最佳答案
您是否已链接到 Oracle DLL 的调试版本(oraocci11d.lib
和 oraocci11d.dll
)?
您的程序似乎使用了 Visual Studio 的内存调试选项,而您使用的 Oracle DLL 却没有。所以错误的发生是因为运行时库认为存在内存分配/释放问题。
关于c++ - oracle occi getString 给出 _BLOCK_TYPE_IS_VALID(pHead->nBlockUse),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4592563/
我正在使用 OCCI 和 C++ 从 Oracle 获取数据。该代码运行良好,但我注意到性能有所下降。发生这种情况是因为在 rset->next() 迭代中一些计算需要时间。这种延迟的影响是oracl
我是 Oracle 的新手。我正在尝试使用 OCCI 连接到远程 Oracle 数据库。到目前为止,我发现的所有示例都是用于连接到本地数据库的。有人可以给我指出正确的方向,让我知道在哪里可以找到示例连
在从查询结果集中请求数据时,是否可以使用 oracle OCCI 而不是为列提供索引,而实际传递列名并获取数据? 所以不要这样做:(伪代码) std::string query = "SELECT N
我正在编写一个多线程应用程序,其中有一个主线程将任务分配给工作线程。根据任务,工作线程使用全局 occi 环境 创建连接。当工作线程完成其任务时,它会关闭连接(我敢肯定,终止时不会抛出异常)。 我的问
我正在编写一个多线程应用程序。我的工作线程从环境对象获取连接,如下所示: //EnterCriticalSection(&cs); conn = env->createConnection(usern
我正在探索一款使用 Oracle API 的软件,据我所知,对象方法通常期望将“OCCI 上下文”或“OCCI 环境”值作为参数。 一个例子是 Account 对象的构造函数: Account( or
在下面的 C++ 代码中,我正在根据搜索值更新 emp 表的一个字段。但是这段代码不能正常工作。我得到中止的输出。 void UpdateData(string field_name,string u
如果是 Oracle::OCCI::Connection,我需要测试连接性,如何获取和设置连接超时值?我阅读了 Oracle OCCI 的文档,但找不到所需的函数。 提前致谢。 最佳答案 这个答案指的
通过 OCCI 发送一个简单的查询后(例如:select * from ALL_USERS)我需要知道该列的数据类型,目前我一直在使用 ResultSet::getColumnListMetaData
我有一个使用 OCCI Oracle API 访问数据库的 OracleConnection 类。我现在需要从数据库中获取多行记录,这是通过 API 的 ResultSet::getDataBuffe
尝试通过将包含 char 缓冲区的结构存储到 vector 中来最小化 OCCI 数组提取的行数,代码如下: struct Columns { char buffer[1000][300];
帮帮我,我想创建一个通用函数来获取任何查询字符串的结果并将所有行放入另一个变量中。迭代一行时,如何知道可用的列数? Environment *env = Environment::createEnvi
编辑: 已经发生了足够多的变化,我提出了一个新问题。 You can find it here . 我正在尝试使用 OCCI 通过 C++ 连接到 Oracle 12c。我将 CLion2016.1
我正在开发一个以 Oracle 作为数据库的 C++ 应用程序,并尝试获取数以千计的 CLOB 数据类型的记录。 一直在网上搜索如何在 OCCI 中预取 CLOB 数据类型,但总是看到“如果 LONG
我使用以下简单代码连接到数据库,但收到 ORA-24399 错误,表示指定的连接数无效。我已经用谷歌搜索了足够多但不知道。这是一个CPP 程序。 以下是代码片段: try { Envi
我正在尝试在 C++ 中使用 Oracle 和 OCCI 开发一些应用程序。我成功安装了“oracle linux”和 oracle db 12c。我假设 OCCI 包含 db 作为它的一部分,所以我
我有一个在数据库上执行的查询,该查询返回一个记录数组,我在 Oracle OCCI 文档中读到您必须使用 ResultSet::setDataBuffer()函数从数据库中获取数组的数据。 当数据库行
这是我第一次体验 OCCI,所以如果答案很明显,请原谅。 我有一个 Statement 对象,以通常的方式创建: string sqlStatement = "INSERT INTO data_tab
是否可以在 Microsoft Visual Studio 2015 社区中使用 OCCI(Oracle c++ 调用接口(interface))?如果可以,如何使用? 在 Oracle 下载部分我只
如何获得查询执行的结果 - select count (*) from myTable?代码是: ... oc::Statement* stmt = m_cConnection->create
我是一名优秀的程序员,十分优秀!