草庐IT

c++ - 如何检测 Oracle 断开/停止的连接?

在我们的服务器/客户端设置中,我们遇到了一些奇怪的行为。客户端是一个C/C++应用程序,它使用OCI连接到Oracle服务器(使用OTL库)。数据库服务器有时会以某种方式死机(是的,这是核心问题,但从应用程序方面我们无法解决它,但无论如何都必须处理它),机器不再响应到新的请求/连接,但现有的请求/连接,如Oracle连接,不会丢失或超时。发送到数据库的查询再也不会成功返回。Oracle提供了哪些可能性(如果有的话)从客户端-应用程序端检测这些停滞的连接并以或多或少安全的方式恢复? 最佳答案 直到11.1.0.6,这是Oracle中的

c++ - C++ OTL SQL 数据库库是在后台使用参数化查询还是字符串连接?

我一直在研究用于C++数据库访问的OTL(Oracle、Odbc和DB2-CLI模板库)。我不确定我传入的查询是否转换为底层数据库的参数化查询,或者它是否基本上只是将所有参数连接成一个大字符串并以这种方式将查询传递给数据库。我看到您传递给它的查询可以包含参数的类型信息,但是我不知道从那时到查询访问数据库之间发生了什么。 最佳答案 OTL作者对我的电子邮件的回复:OTL将带有占位符的查询传递到数据库API层。实际绑定(bind)变量的命名约定对于不同的数据库类型是不同的。比如说,对于Oracle,SELECT*FROMstaffWHE

c++ - 防止 C++ OTL、DTL 或 SOCI 库中的 SQL 注入(inject)

我一直在查看所有这三个数据库库,我想知道它们是否采取了任何措施来防止SQL注入(inject)。我很可能会在其中一个之上构建一个库,注入(inject)是我在选择一个时最关心的问题。有人知道吗? 最佳答案 得到了OTL库的作者。用“OTL方言”编写的参数化查询,正如我所说,将作为参数化查询传递给基础数据库API。因此参数化查询将像底层API一样注入(inject)安全。转到this其他SO帖子以获取他的完整电子邮件解释:IsC++OTLSQLdatabaselibraryusingparameterizedqueriesundert

c++ - OTL 和 SOCI 的区别

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭7年前。ImprovethisquestionC++数据库OTL和SOCI的优缺点是什么?特别是,我的项目使用SQLServer2008的项目有哪些差异?我之前没有使用过,在我的项目期间我不想更改库。 最佳答案 几年前,我比较了它们,并决定与Soci一起使用SqlServerODBC和Sqlite后端的项目。那时,Soci和OTL似乎都在积极维护,但Soci的界面更好。从那以后我就

c++ - OTL 和 SOCI 的区别

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭7年前。ImprovethisquestionC++数据库OTL和SOCI的优缺点是什么?特别是,我的项目使用SQLServer2008的项目有哪些差异?我之前没有使用过,在我的项目期间我不想更改库。 最佳答案 几年前,我比较了它们,并决定与Soci一起使用SqlServerODBC和Sqlite后端的项目。那时,Soci和OTL似乎都在积极维护,但Soci的界面更好。从那以后我就