Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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)
                { }
            }
        }