private void setDB(IDBServer db) { this.db = db; this.db.SetConnection(ConnectionPool.GetConnection(this.applicationID), TransactionPool.GetTransaction(this.applicationID)); }
public void BeginTransaction() { //数据库重新开启连接 OpenDB(); //事务判断 if (TransactionPool.GetTransaction(this.applicationID) == null) { TransactionPool.SetTransaction(this.applicationID, ConnectionPool.GetConnection(this.applicationID).BeginTransaction(System.Data.IsolationLevel.ReadCommitted)); //必须在事务开始之后加上 //{0A5C1FD6-C6DF-46b1-9EA6-AAD4CA6D12F4}Neusoft.FrameWork.Server.ServerManager 里 把下面方法更新一下,解决DB2事务不能开启的问题 //ConnectionPool.GetConnection(this.applicationID).GetType().GetProperty("TransactionState", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).SetValue(ConnectionPool.GetConnection(this.applicationID), 1, null); if (Neusoft.FrameWork.Management.Connection.DBType == Neusoft.FrameWork.Management.Connection.EnumDBType.ORACLE) { ConnectionPool.GetConnection(this.applicationID).GetType().GetProperty("TransactionState", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).SetValue(ConnectionPool.GetConnection(this.applicationID), 1, null); } else if (Neusoft.FrameWork.Management.Connection.DBType == Neusoft.FrameWork.Management.Connection.EnumDBType.DB2) { ConnectionPool.GetConnection(this.applicationID).GetType().GetProperty("TransactionState"); } } }
/// <summary> /// /// </summary> /// <returns></returns> public System.Collections.ArrayList GetSQL() { System.Collections.ArrayList alAll = new System.Collections.ArrayList(); if (Neusoft.FrameWork.Management.Connection.Sql == null) { Neusoft.FrameWork.Management.Connection.Sql = new Neusoft.FrameWork.Management.Sql(ConnectionPool.GetConnection(this.applicationID)); } if (Neusoft.FrameWork.Management.Connection.Sql.alSql == null) { return(null); } alAll.Add(Neusoft.FrameWork.Management.Connection.Sql.alSql); alAll.Add(Neusoft.FrameWork.Management.Connection.Sql.table_name); return(alAll); }