标签: transactions

Magento - 是否可以将文件附加到交易电子邮件中?

我需要将文件附加到交易电子邮件中.基本上我有一个生成报告的cron作业,需要通过电子邮件发送给管理员用户.

我希望这样的事情存在:

Mage::getModel('core/email_template')
                ->setDesignConfig(array('area'=>'frontend', 'store'=>1))
                ->createAttachment($file)
                ->sendTransactional($templateID, $sender, $email, “Admin", $vars);
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助.

email transactions magento

0
推荐指数
1
解决办法
4662
查看次数

不同BeginTransaction方法之间的区别.

以下BeginTransaction方法之间的区别是什么:

  1. SqlConnection.BeginTransaction方法

  2. DbConnection.BeginTransaction方法

  3. DbConnection.BeginDbTransaction方法

而且,它们与System.Transaction中的TransactionScope()方法有何不同?

c# ado.net entity-framework transactions

0
推荐指数
1
解决办法
1744
查看次数

MySQL更新连接未按预期工作

我在ubuntu 12.10和MySQL Workbench上使用MySQL 5.1.41.

我有2个产品表,t1和t2.t1是实时数据,t2是准备更新到t1的导入数据,用于更新所有新产品价格.所以我跑:

SELECT * FROM t1
JOIN t2 ON t1.id = t2.id
WHERE t1.price != t2.price;
Run Code Online (Sandbox Code Playgroud)

这将返回1201记录,其中价格不同并需要更新.所以我跑:

UPDATE t1 JOIN t2 ON t1.id = t2.id
SET t1.price = t2.price
WHERE t1.price != t2.price;
Run Code Online (Sandbox Code Playgroud)

这完成没有错误并报告1143行受影响,行匹配:1143更改:1143警告:0

所以这里已有的东西不对.选择查询中有1201条记录不同,但只有1143条使用相同的连接和条件进行了更改?

运行初始选择查询我希望看到仍有不同价格的58条记录.但是当它运行时,我得到了与我最初相同的1201.就像没有提交更新一样.

有任何想法吗?

mysql sql transactions join sql-update

0
推荐指数
1
解决办法
893
查看次数

从数据库获取最后一个插入ID的问题 - asp.net

我正在尝试将数据添加到User表(注册后).在将用户数据添加到用户表后,我不想立即在'profile'表(1:1)中使用userID创建行,这就是我在这里使用事务的原因.但问题是,当代码进入'ExecuteScalar()'行异常时,我收到后,我无法获得用户的UserId(@@ Identity)"Object reference not set to an instance of an object."

    string sqlAddUser = string.Format("insert into tbl_users ([UserName],[Email],[Password],[PasswordSalt],[CreatedDate],[IsActivated],[IsLockedOut],[LastLoginDate],[LastLockedOutDate], [NewEmailKey]) values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}', '{9}')",
        user.UserName, user.Email, user.Password, user.PasswordSalt, user.CreatedDate, user.IsActivated, user.IsLockedOut, user.LastLockedOutDate, user.LastLoginDate, user.NewEmailKey);

    SqlCommand cmdAddUser = new SqlCommand(sqlAddUser, conn, transaction);
    int result = cmdAddUser.ExecuteNonQuery();

    SqlCommand cmdGetLastIdentity = new SqlCommand("SELECT @@IDENTITY", conn, transaction);                        
    int i = (int)cmdGetLastIdentity.ExecuteScalar();

    string sqlAddUserProfile = string.Format("insert into tbl_profile (UserId) values ({0})", i);
    SqlCommand cmdAddUserProfile = new SqlCommand(sqlAddUserProfile, conn, transaction);

    cmdAddUserProfile.ExecuteNonQuery();

    transaction.Commit();

    return GetUser(username);
}
catch (Exception …
Run Code Online (Sandbox Code Playgroud)

c# database sql-server asp.net transactions

0
推荐指数
1
解决办法
5264
查看次数

回滚在java中不起作用

我有一个方法,它执行一个简单的mysql插入,当我尝试回滚插入操作如下,一个错误,但它没有回滚错误,请帮助我,

public void addFamer(FamerDTO famer) throws Exception {
        Connection con = JDBCConnectionPool.getInstance().checkOut();
        con.setAutoCommit(false);

        try {


            String generalFamerDataSQL = "INSERT INTO famers(famer_code, name_wt_initials, full_name, gender, "
                    + "nic_or_passport_no, sc_possition, phone_home, phone_mobile, phone_office) VALUES(?,?,?,?,?,?,?,?,?)";
            PreparedStatement insertFamerPS = con.prepareStatement(generalFamerDataSQL, PreparedStatement.RETURN_GENERATED_KEYS);
            insertFamerPS.setString(1, famer.getFamerCode());
            insertFamerPS.setString(2, famer.getNameWithInitials());
            insertFamerPS.setString(3, famer.getNameInFull());
            insertFamerPS.setString(4, famer.getGender());
            insertFamerPS.setString(5, famer.getNICorPassportNo());
            insertFamerPS.setString(6, famer.getSocietyPosission());
            insertFamerPS.setString(7, famer.getHomePhone());
            insertFamerPS.setString(8, famer.getMobilePhone());
            insertFamerPS.setString(9, famer.getOfficePhone());
            insertFamerPS.execute();   


String famerRelations = "INSERT INTO org_reg_blk_soc_fmr(org_id, region_id, famer_id, block_id, soc_id) "
                    + "VALUES (?,?,?,?,?)";
            PreparedStatement famerRelationsPS = con.prepareStatement(famerRelations);
            famerRelationsPS.setInt(1, famer.getOrganization().getOrg_id());
            famerRelationsPS.setInt(2, famer.getRegion().getRegion_id());
            famerRelationsPS.setInt(3, famerID); …
Run Code Online (Sandbox Code Playgroud)

java mysql transactions jdbc

0
推荐指数
1
解决办法
898
查看次数

PDO事务提交而不是回滚

所以有2个InnoDB表,员工和公司.我使用try/catch块在事务中插入2个查询.然而,当我做出明确的错误在第一个查询(我把一个不正确的表名员工,而不是雇员),数据库不插入的当然是查询中的行,但第二个查询运行,并得到承诺的数据库而不是回滚(因为第一个查询未能插入).

结果是一个emply员工表,但公司表与新记录.我在这里错过了什么?它不应该回滚,因为没有插入第一个查询?

$employee_id = 2;
$employee_name = 'Marky Mark';

try {
   $dbh->beginTransaction();
   $query = "INSERT INTO employee (employee_name) VALUES (:employee_name)";
   $insert_emp = $dbh->prepare($query);
   $insert_emp->execute(array(':employee_name' => $employee_name));

   $Employee_id = $dbh->lastInsertId();


   $query = "INSERT INTO companies (company_name,employee_id) VALUES ('SO',:Employee_id)";
   $insert_emp_comp = $dbh->prepare($query);
   $insert_emp_comp->execute(array(':Employee_id' => $Employee_id));
   $dbh->commit();
} catch (Exception $e) {
   $dbh->rollBack();
   echo "Failed: " . $e->getMessage();
}
Run Code Online (Sandbox Code Playgroud)

mysql pdo innodb transactions commit

0
推荐指数
1
解决办法
321
查看次数

JPA RollbackException持久化事务导致后续有效事务失败?

我有一个@Transactional服务在oracle DB中执行持久化操作.如果我运行坚持打破一个唯一的违规,我得到预期的rollbackException:ConstraintException.

问题是任何后续请求(即使没有违反唯一约束)持久化都会引发相同的异常.

似乎JPA没有清除持久化其事务管理器的对象?我甚至关闭?我需要一点解释.

回购:

@Repository
public class UserRepository {

    @PersistenceContext(type=PersistenceContextType.EXTENDED)
    private EntityManager em;

    public User findUserById(long id){
        CriteriaBuilder builder = em.getCriteriaBuilder();
        CriteriaQuery<User> query = builder.createQuery(User.class);

        Root<User> root = query.from(User.class);

        Predicate whereClause = builder.equal(root.get(User_.userId), id);

        return em.createQuery(query.where(whereClause)).getSingleResult();
    }

    public User findUserByCredentials(String credentials){

        CriteriaBuilder builder = em.getCriteriaBuilder();
        CriteriaQuery<User> query = builder.createQuery(User.class);

        Root<User> root = query.from(User.class);

        Predicate whereClause = builder.equal(root.get(User_.credentials), credentials);

        return em.createQuery(query.where(whereClause)).getSingleResult();
    }

    public void registerUser(User user){
         em.persist(user);
    }
}
Run Code Online (Sandbox Code Playgroud)

ServiceImpl:

@Transactional(readOnly=true)
@Service("userService")
public class UserServiceImpl implements UserService {

    @Resource
    private …
Run Code Online (Sandbox Code Playgroud)

java jpa transactions exception

0
推荐指数
1
解决办法
2万
查看次数

Jboss AS 7中的主要性能问题

我参加了一个项目,我们最近将应用程序服务器更改为Jboss AS 7(EAP 6).该系统是在域模式下运行的Jboss安装,其中一个服务器(服务器A)包含连接到关系数据库的EJB,另一个服务器(服务器B)是一个前端节点,主要是JSP连接到服务器A.

在开始我们的负载和性能测试之前,我会问这里.

题:

在运行混合事务EJB和JSP Web界面的域模式下,Jboss AS 7(EAP 6)所需的主要缺陷和性能调整是什么?

jboss ejb transactions application-server jboss7.x

0
推荐指数
1
解决办法
1265
查看次数

使用ravendb中的事务存储文档后立即读取文档

这里我使用事务范围存储transactionSummary类型的文档,如下所示

public class TransactionSummary
{
[JsonIgnore]
        public Guid? Etag { get; set; }
        public String Id { get; set; }
        public String TransactId { get; set; }
        public OpenOrClosed BalanceType { get; set; }
        public TransactStatus Status { get; set; }
        public String PayeeAccountNo { get; set; }
        public Decimal AmountPaid { get; set; }
}



using (var trans = new TransactionScope())
{
  using (IDocumentSession sess = GetConnection())
   {
     sess.Store(fldtrans);
     sess.SaveChanges();
   }
    trans.complete();
}
Run Code Online (Sandbox Code Playgroud)

在立即存储之后我需要检索它,所以我按照以下方式进行操作

   using (IDocumentSession sess = GetConnection()) …
Run Code Online (Sandbox Code Playgroud)

c# transactions ravendb

0
推荐指数
1
解决办法
406
查看次数

Hibernate Row锁定读取

我有一个表Jobs包含字段NameStatus.

我正在尝试在tomcat实例中部署两个单独的应用程序来轮询jobs表以获取新记录,但重要的是两个进程都不会收到相同的作业记录.我怎样才能做到这一点?

到目前为止,我的(不成功)方法是使用spring集成:

<int-jdbc:inbound-channel-adapter 
    query="select * from jobs where status=1"
    channel="rawInputDataListChannel"
    data-source="dataSource"
    update="update input_table set status=2 where status=1">
    <int:poller fixed-rate="1">
        <int:transactional isolation="READ_COMMITTED" />
    </int:poller>
</int-jdbc:inbound-channel-adapter>
Run Code Online (Sandbox Code Playgroud)

由于这不起作用,我认为可能在tomcat中使用事务管理器,因此两个应用程序可以共享它可能会起作用,但我正在努力使其运行起来.这种方法有用吗?

java spring tomcat hibernate transactions

0
推荐指数
1
解决办法
1万
查看次数