public override DbCommand XDbCommand() { DbCommand cmd = null; if (ConnType == XDbConnType.ORACLE) { cmd = new OracleCommand(); } else if (ConnType == XDbConnType.ALTIBASE) { cmd = new AltibaseCommand(); } else if (ConnType == XDbConnType.MSSQL) { cmd = new SqlCommand(); } else if (ConnType == XDbConnType.TIBERO) { cmd = new OleDbCommandTbr(); } else if (ConnType == XDbConnType.OLEDB) { cmd = new OleDbCommand(); } if (cmd is OracleCommand cmd_) { //TODO: 설정으로 처리 ( 현재는 용도는 없다 ) //cmd_.InitialLOBFetchSize = 4000; cmd_.InitialLONGFetchSize = 4000; } return(cmd); }
private static void QueryForBulkInsertCore(string statementName, ArrayList parameterObject, string datasourceCode) { if (datasourceCode.Equals("ORACLEConfig")) { PreCUDExecute(datasourceCode); //CUD PreProcess 실행 ISqlMapper mapper = (ISqlMapper)maps[datasourceCode + GetProcessID()]; IMappedStatement statement = mapper.GetMappedStatement(statementName); WriteLog(datasourceCode, mapper, statementName, parameterObject); RequestScope request = statement.Statement.Sql.GetRequestScope(statement, parameterObject, mapper.LocalSession); statement.PreparedCommand.Create(request, mapper.LocalSession, statement.Statement, parameterObject); OracleCommand commandOracle = new OracleCommand(); commandOracle.CommandText = request.IDbCommand.CommandText; commandOracle.Connection = (OracleConnection)mapper.LocalSession.Connection; commandOracle.ArrayBindCount = ((List <string>)parameterObject[0]).Count; for (int i = 0; i < parameterObject.Count; i++) { OracleParameter tmpParamList = new OracleParameter(i + 1 + "", OracleDbType.Varchar2); tmpParamList.Direction = ParameterDirection.Input; tmpParamList.Value = ((List <string>)parameterObject[i]).ToArray(); commandOracle.Parameters.Add(tmpParamList); } commandOracle.ExecuteNonQuery(); CommitTransaction(); } else if (datasourceCode.Equals("TIBEROConfig")) { try { PreCUDExecute(datasourceCode); //CUD PreProcess 실행 ISqlMapper mapper = (ISqlMapper)maps[datasourceCode + GetProcessID()]; IMappedStatement statement = mapper.GetMappedStatement(statementName); WriteLog(datasourceCode, mapper, statementName, parameterObject); RequestScope request = statement.Statement.Sql.GetRequestScope(statement, parameterObject, mapper.LocalSession); statement.PreparedCommand.Create(request, mapper.LocalSession, statement.Statement, parameterObject); OleDbCommandTbr commandTB = new OleDbCommandTbr(); commandTB.CommandType = CommandType.Text; commandTB.CommandText = request.IDbCommand.CommandText; commandTB.Connection = new OleDbConnectionTbr(mapper.DataSource.ConnectionString); commandTB.Connection.Open(); //commandTB.Parameters.isContainArray = true; for (int i = 0; i < parameterObject.Count; i++) { //tmpParamList = null; OleDbParameterTbr tmpParamList = new OleDbParameterTbr(i + 1 + "", OleDbTypeTbr.VarChar); tmpParamList.Direction = ParameterDirection.Input; tmpParamList.Value = ((List <string>)parameterObject[i]).ToArray(); //commandTB.Parameters.Add(tmpParamList); commandTB.Parameters.parametersTbr.Add(tmpParamList); } commandTB.ExecuteNonQuery(); CommitTransaction(); } catch (Exception) { } } }