问题标签 [occi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 如何调试occi使用Clion?
我使用 Clion 制作 occi 应用程序。我的 cmakelist.txt:
我的程序:
我的操作系统是 ubuntu 12.04 lts,Oracle 数据库的版本是 11g。我编译main.cpp文件使用这条命令“g++ main.cpp -o main.o -locci -lclntsh”,构建成功并运行成功。然后我使用Clion调试程序。程序在这行程序崩溃Environment* env = Environment::createEnvironment();
是这些在我的 cmakelist.txt 中有一些错误?如何解决?
oracle - Oracle OTT 错误:“字符串索引超出范围 -11”
我正在尝试使用以下命令将类型转换为 c++ 对象:
这是 T_BODYIN.TPY 的内容:
这是 SQL TYPE 的内容:
我从 ott 收到消息“字符串索引超出范围 -11”,知道为什么吗?
PS:第一次用ot...
c++ - 确定 OCCI 中的 SQL 语句类型
我正在使用 Oracle C++ 调用接口 (OCCI) 为 Oracle 编写通用数据库处理层。它必须接受由应用程序的其他部分提供的 SQL 字符串(没有说明它是什么类型的语句),然后应该检查应用程序的调用部分是否允许该语句类型,如果是,代表执行它来电者的。
但是,我找不到一种有效的方法来从基于提供的 SQL 字符串创建的 OCCI 语句中获取 SQL 语句类型(选择、更新、删除等)。
在 OCI 中,可以通过调用OCIAttrGet()
OCI 语句句柄并传递OCI_ATTR_STMT_TYPE
给attrtype
参数来获取此信息,但我在 OCCI 中找不到任何等效函数。
我可以通过调用从 OCCI 语句中获取 OCI 语句句柄getOCIStatement()
,但到目前为止,从该 OCI 语句句柄中获取语句类型属性的尝试失败了:
当我运行上述内容时,我得到result = -2
并且没有任何变化statementType
无论如何,我认为这种方法相当落后,并且更愿意与 OCCI 一起干净地操作。
有谁知道如何确定准备好的 OCCI 语句的 SQL 语句类型(缺少解析原始 sql 字符串,既不高效也不安全)?
c++ - 如何使用 C++ 和 OCCI 'execute' 方法读取 VARRAY?
我正在努力从 oracle 11g 数据库中读取 VARRAY 元素。我正在使用 CPP occi DLL。我可以读取任何其他类型,并更新 VARRAY 类型,但是当我尝试选择 VARRAY 值时,我在 occi dll 中得到一个“访问冲突”异常:(
这是一个简化的场景:
当我做
没关系,但是当我尝试以相同的方式访问 VARRAY
我明白了
OracleTester.exe 中 0x0094a46d 处的第一次机会异常:0xC0000005:访问冲突读取位置 0x0000000000000120。
知道我做错了什么吗?也许我需要使用不同的 API 来获取 VARRAY 数据?或者做一些准备工作?
任何提示将不胜感激...
c++ - 错误:在犰狳和 oracle occi 兼容性问题中对“剑”的引用不明确
在犰狳 c++ 中,我使用了一些 api 并使用 oracle occi 尝试将值插入到 oracle 表中,但是我得到了一些像这样的错误:-
我的示例代码是:- main.cpp
db_manager.cpp
db_manager.h
common_struct.h
全局变量.h
生成文件:
c++ - 使用 oracle occi 和 c++ 将 1300 万行转储到文件中
我正在尝试将数据从数据库中的表导出到csv
格式的文件中。我想出了下面的程序。我的表包含大约13 million
行,这个程序很慢。
我怎样才能加快这个程序?
static-linking - Oracle 12c中OCCI/OCI程序静态链接时的链接错误
我正在尝试开发静态链接的 OCi/OCCI 应用程序,但遇到了很多未定义的错误,如下所示。
有人可以告诉我链接行中要包含哪些 .a 库。
谢谢。
/u01/home/oracle/product/12.1.0.2/lib/libnls12.a(lxxmlidc.o):在函数lxXmlIdConv':
lxxmlidc.c:(.text+0x15d): undefined reference to
lxuCvtToCtx'lxxmlidc.c:(.text+0x23f):未定义引用lxu4TstClass'
lxxmlidc.c:(.text+0x36f): undefined reference to
lxu4TstClass'lxxmlidc.c:(。 text+0x386): 对lxu4TstClass'
lxxmlidc.c:(.text+0x39d): undefined reference to
lxu4TstClass 的未定义引用 lxxmlidc.c:(.text+0x3be): 对lxu4TstClass'
/u01/home/oracle/product/12.1.0.2/lib/libnls12.a(lxxmlidc.o):lxxmlidc.c:(.text+0x7d4): more undefined references to
lxu4TstClass 的未定义引用跟随 /u01/home/oracle/product/12.1.0.2/lib/libnls12.a(lxuca.o) :在函数lxucaFindLastNonCombiningChar':
lxuca.c:(.text+0xc82): undefined reference to
lxu4GCombiningClass'/u01/home/oracle/product/12.1.0.2/lib/libnls12.a(lxuca.o) 中:在函数lxucaFindTrimPosition':
lxuca.c:(.text+0xfd6): undefined reference to
lxuCvtToCtx'/u01/home/oracle/product/12.1.0.2/lib/libnls12 中。 a(lxuca.o): 在函数lxucaGetKey':
lxuca.c:(text.hot+0xb2c): undefined reference to
lxuComposition'lxuca.c:(text.hot+0xe06): 未定义的引用lxu4GCombiningClass'
lxuca.c:(text.hot+0xeaa): undefined reference to
lxu4GCombiningClass' lxuca.c:(text.hot+0x112b): 未定义的引用lxu4GCombiningClass'
/u01/home/oracle/product/12.1.0.2/lib/libnls12.a(lxuca.o): In function
lxucaConvertAndDecompose': lxuca.c:(text.hot+0x181a): 未定义对lxuDecomposition'
/u01/home/oracle/product/12.1.0.2/lib/libnls12.a(lxuca.o): In function
lxucaGetImplicitWeightBase'的引用': lxuca.c:(text.hot+0x1b16): 未定义对lxu4GBlock'
/u01/home/oracle/product/12.1.0.2/lib/libnls12.a(lxpisac.o): In function
lxpIsACollationElement'的引用': lxpisac.c:(.text+0x2fc):对 lxpNumOfUc4CollationElem' 的未定义引用lxuCvtToCtx'
/u01/home/oracle/product/12.1.0.2/lib/libnls12.a(lxpisac.o): In function
:lxpisac.c:(.text+0x753):对lxuCvtToCtx'
lxpisac.c:(.text+0x91a): undefined reference to
lxuComposition'/u01/home/oracle/product/12.1.0.2/lib/libcore12.a(lrmini.o) 的未定义引用:在函数lrminiu':
lrmini.c:(.text+0x5b6): undefined reference to
lxuCvtToCtx' /u01/home/oracle/product/12.1.0.2/lib/libcore12.a(lrmpu.o):在函数lrmpu16to8':
lrmpu.c:(text.unlikely+0x57): undefined reference to
lxuStrLen'/u01/home/oracle/product/12.1.0.2/lib/libcore12.a(lsf.o ): 在函数lsfiniu':
lsf.c:(.text+0x551): undefined reference to
lxuCvtToCtx' /u01/home/oracle/product/12.1.0.2/lib/libcore12.a(lsfu.o) 中: 在函数lsfu16to8':
lsfu.c:(text.unlikely+0x65): undefined reference to
lxuStrLen' /u01/home/oracle/product/12.1.0.2/lib/libcore12 .a(lrmckv.o):在功能lrmckv':
lrmckv.c:(.text+0x54f): undefined reference to
lxuCmpBinStr' /u01/home/oracle/product/12.1.0.2/lib/libcore12.a(lrmpatk.o):在函数lrmpatk':
lrmpatk.c:(text.unlikely+0x2f1): undefined reference to
lxuCmpBinStr' /u01/home/oracle/product/12.1.0.2/lib/libcore12.a(lrmcvv .o): 在函数lrmcvv':
lrmcvv.c:(.text+0x219): undefined reference to
lxuCmpBinStr'
c++ - Oracle OCCI UString 到 std::wstring
在 Oracle DB 提供程序中,有一个术语 UString,用于处理 UTF16 字符集。
这是它的定义方式:
我的应用程序将 wstring 用于 unicode,并且我们知道 std::wstring 包装了 wchar_t,它不是无符号短,而是 C++ 的内部类型。我知道 VCproj C++ 语言设置中有一个选项是否使用 wchar_t 作为非内部类型,但我更喜欢将其保留为内部类型。
所以我的问题是如何将 OCCI 与 OCCIUTF16 一起使用,而不必将每个 UString 都转换为 wstring?
c++ - oracle occi 连接池报告 ORA-00001: 违反唯一约束 (%s.%s) 错误
我试过下面的代码
它报告了错误:在抛出'oracle :: occi :: SQLException'实例后调用终止what():ORA-00001:违反唯一约束(%s.%s)
我想这可能是因为我的笔记本电脑断电并异常关机。我该怎么做才能使它正确?
谢谢你。
c++ - 在 Oracle OCCI/OCI 中,读取 LOB 的缓冲区是否应该大于实际数据?获取 ORA-32116
std::vector
我们正在通过 OCCI将数据从 CLOB 读入。简化的代码如下所示:
这会产生错误 ORA-32116,表示缓冲区大小(读取的第三个参数)应该等于或大于要读取的数据量(读取的第一个参数)。这个条件显然成立。
将缓冲区大小增加到 4*len 后:
操作正确执行。到目前为止, 和 的值have_read
始终len
相同。
缓冲区是否需要未记录的额外空间?还是需要完整的页面?
我们使用的是“Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit”。
欢迎对该主题进行任何澄清。