我正在使用poco c ++库版本1.4.6p1所有我用它来在sql server 2012中做一些事务但是事务不起作用,但它适用于mysql是否需要进行任何其他增强支持交易?
答案 0 :(得分:2)
我调试了poco库,在poco-> ODBC-> SessionImpl类中,标记事务开始的begin函数没有实现,其中在poco-> MySQL-> SessionImpl类中开始函数具有实现,这就是为什么事务适用于MySQL而不适用于SQL Server
的原因答案 1 :(得分:0)
截至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();