问题标签 [otl]
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.
multithreading - 使用 Omnithread 库在 For 循环中创建 NewTask
我正在编写一个检测 USB 插入并将插入的驱动器保存到 StringList 的程序。现在我想为 StringList 的每个内容创建一个 NewTask 或 Background Worker,立即启动它们并等待所有任务使用 OmniThread 库完成。
这是我的代码片段
使用 Delphi XE7 和 OmniThread 库 v3.04。
oracle - 使用 Change Notification 接口时,ORA-24912: Listener 线程失败。出现监听失败错误?
当我尝试通过以下网站运行演示程序以验证 Oracle 更改通知的接口是否正确时:http otl_subscriber
:
//otl.sourceforge.net/otl4_ex585.htm。
我得到如下错误:
ORA-24912: 侦听器线程失败。试听失败!
并且在我搜索谷歌之后,我得到:“客户端需要重新启动。 ”但我不知道需要重新启动哪个客户端?Oracle SQL Developer 或任何其他客户端?
我几乎从不修改演示程序,如果我将片段评论如下:
该程序运行良好,我可以插入或删除表。
从程序一开始,我就了解到“所需的‘变更通知’权限可以通过 DBA 的‘grant change notification to scott’来设置。”
到目前为止,我还没有 DBA 权限,请问 ORA-24912 的 bug 是否与 DBA 权限有关?
binding - OTL4.0 otl_stream 绑定问题
我有一个关于使用 otl_stream 绑定变量的问题。无论我如何绑定,使用索引或命名顺序/命名都不会影响正在更新的列。它似乎总是顺序的。
可以看到在otl_stream
column-names 中已经切换了。然而 postgres 数据库显示两个插入产生相同的结果。
- 操作系统:Windows
- OTL:4.0
- 视觉工作室 2013。
- 平台:x64
- ODBC:PostgreSQL ANSI(x64) 9.03.04.00
有任何想法吗?亲切的问候 Auke-Dirk
c++ - C++ OTL 看不到外部数据库更改
我有一个使用 OTLv4 连接到数据库的 C++ 程序。一切正常。我既可以将数据插入数据库,也可以从数据库中读取数据。
但是,如果我从另一个程序更改数据库中的数据,那么这不会反映在我的 C++ 程序中。例如,如果我使用 MySQL 工作台删除一个条目,C++ 程序仍然会看到该条目。我看到的数据是程序第一次登录数据库时出现的数据。
如果我每次进行查询时注销并登录,那么我将获得当前值,但这似乎不是很有效。类似地,如果我从 C++ 程序运行将修改数据库的查询,那么程序将开始查看当前值,直到该点为止。
对我来说,这感觉像是某种过度激进的缓存,但我不知道它在 OTL 中是如何工作的,除了可能我一无所知的流池之外,没有看到任何提及缓存。
我没有做任何花哨的事情。OTL 使用以下参数编译:
代码看起来像这样:
有什么我错过的,我需要做的一些配置吗?关闭某种缓存?也许我真的每次都需要登录和注销?
c++ - 使用 otl 崩溃更新数据库 blob
我正在编写一个简单的应用程序来纠正存储在数据库中的二进制 blob 中的某个字节。我使用 OTL 将我的 C++ 程序连接到数据库。读取数据和操作工作正常,但是当我想将它写回数据库时,程序就死了。
编码:
例如,我在 Sourceforge 进行了间谍活动。
我创建了一个获取数据的 otl_long_string。然后我创建一个 otl_stream 并将 SQL 语句和数据库连接放在一起。我使用 otl_lob_stream 将二进制数据提供给 otl_stream。将 blob 数据流式传输到 otl_stream 工作正常。但是当我将 id 交给流时,进程就会终止。
这是杀手级指令:
这是我交出的一个简单的 int 变量。效果很搞笑:进程并没有完全死掉,只是当前方法下面的调用栈没了。这是语句之前的调用堆栈:
这是指令后的完整堆栈:
我试图调试otl。似乎 otl 发现它已获得所有必需的参数并开始运行。在那一刻,它崩溃了。
我使用的环境:
- OTL 4.0
- CentOS Linux,内核 3.10.0-327.22.2.el7.x86_64
- gcc-Version 4.8.5
- Oracle 11g
有人有想法吗?
c++ - 如何在除 main.cpp 之外的其他文件中包含 OTL 标头?
我在我的项目中使用 OTL。以下代码按预期工作:
但是当我在我的项目中添加另一个类时,比如说测试类,它已经#include "../OTLtest/otlv4.h"
包含在内。Visual Studio 2015 不会生成该项目。
如果我#include "../OTLtest/otlv4.h"
从TestOTL.cpp
文件中删除该项目运行良好。
问题
我应该在 main.cpp 之外的文件中包含 OTL 标头吗?
如果我应该,那我该怎么做?
sql-server - 使用表类型参数调用存储过程
如何调用将表类型作为 OTL 参数的存储过程?
这是我的数据库的样子:
我试图用 C++ 编写代码,但我不确定如何创建列表参数或指定列表类型
更新:OTL Skuchin 的审计员在一封私人电子邮件中告诉我这是不可能的。“OTL 不支持这些。您可以做的最好的事情是通过常规插入将一堆行插入临时表/表变量中,并在您的 SP 中从中读取”
c++ - 在c ++中使用otl执行oracle存储过程
我有一个非常简单的存储过程,如下所示:
我使用下面的 sqlplus 执行它:
这是完美执行并在控制台上打印值。
现在使用 otl 我想调用这个存储过程。下面是功能。
我面临的问题是我没有得到这个 cout 打印正确的值。它的印刷垃圾。
任何人都可以帮我找出我在这里做的错误的事情。
c++ - 无法解析符号 otl_connect(otl_connect 类不包括)
我一直在尝试使用 OTL_ODBC 连接到 mysql。我在我的 Visual Studio 2010 项目中包含了 OTL 头文件 (otlv4.h),但是当我尝试使用时otl_connect
,它显示错误“无法解析符号 otl_connect”,并且otl_connect
该类显示为红色:
我可以知道我在哪里做错了吗?
c++ - C ++写入mongo,字符串字段在聚合管道中不起作用
** 快速总结:C++ 应用程序使用 OTL4 从 SQL 服务器加载数据,使用 mongocxx bulk_write 写入 Mongo,字符串似乎以某种方式被破坏,因此它们在聚合管道中不起作用(但在其他情况下看起来很好)。**
我有一个简单的 Mongo 集合,当我投影多个字段时,它似乎与聚合管道的行为不符。这是一个简单的文档,没有嵌套,字段只是双精度和字符串。
前 2 个查询按预期工作:
但是随后组合不会按预期返回两个字段。
它似乎特定于 ParametersId 字段,例如,如果我选择 2 个其他字段就可以了。
出于某种原因,当我包含 ParametersId 字段时,管道中的所有地狱都崩溃了:
数据库版本和数据:
更新:引用字段名称没有区别。我在 mongo.exe 命令行中输入了以上所有内容,但我在 C++ 应用程序中看到了相同的行为,但管道稍微复杂一些(投影所有字段以保证顺序)。
同一个应用程序实际上是首先创建数据 - 有谁知道可能出错的地方吗?全部使用 mongocxx 库。
** 更新 **
原来我对字符串的处理出了点问题。没有数据中的字符串字段,一切都很好。因此,不知何故,我已经弄坏了我的字符串,即使它们在其他方面看起来和行为正确,但它们不能很好地与聚合管道配合使用。我正在使用 mongocxx::collection.bulk_write 编写标准 std::strings,这些标准是通过 OTL4 标头从 sql server 加载的。当它们在内部存储时,中间有一个 strncpy_s 。我似乎无法创建一个简单的可重现示例。