public override IDataParameter XDbParameter(string parameterName, object parameterValue) { IDataParameter sParameter = null; if (ConnType == XDbConnType.ORACLE) { sParameter = new OracleParameter(parameterName, parameterValue); } else if (ConnType == XDbConnType.ALTIBASE) { sParameter = new AltibaseParameter(parameterName, parameterValue); } else if (ConnType == XDbConnType.MSSQL) { sParameter = new SqlParameter(parameterName, parameterValue); } else if (ConnType == XDbConnType.TIBERO) { sParameter = new OleDbParameterTbr(parameterName, parameterValue); } else if (ConnType == XDbConnType.OLEDB) { sParameter = new OleDbParameter(parameterName, parameterValue); } return(sParameter); }
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) { } } }