我正在使用 poco c++ 库版本 1.4.6p1 我正在使用它在 sql server 2012 中执行一些事务,但事务不起作用,但它适用于 mysql 是否需要进行任何其他增强来支持事务?
问问题
684 次
2 回答
2
我调试了 poco 库,在 poco->ODBC->SessionImpl 类中,标记事务开始的 begin 函数没有实现,而在 poco->MySQL->SessionImpl 类中,begin 函数具有实现,这就是事务工作的原因用于 MySQL 不适用于 SQL Server
于 2013-09-16T13:23:19.357 回答
1
从 Poco 1.7.x(撰写本文时的最新版本)开始支持事务。只有您必须明确启用它。这是一个示例:
//setup your session skipped
session.setFeature("autoCommit", false);
Poco::Data::Transaction transaction(session);
std::vector<std::string> sqlList;
sqlList.push_back("DELETE FROM Table WHERE cond1='condition1'");
sqlList.push_back("DELETE FROM Table WHERE cond2='condition2'");
sqlList.push_back("DELETE FROM Table WHERE cond3='condition3'");
transaction.execute(sqlList);
transaction.commit();
于 2017-09-03T10:20:52.310 回答