예제 #1
0
 public AS400DataProvider(DB2iSeriesConfiguration dB2ISeriesConfiguration) : base(dB2ISeriesConfiguration.Provider.Name(), dB2ISeriesConfiguration.MappingSchema)
 {
     this.dB2ISeriesConfiguration = dB2ISeriesConfiguration;
     dB2ISeriesConfiguration.InitDataProvider(this, SetCharField);
     SqlProviderFlags.IsDistinctOrderBySupported = true;
     SetCharFieldToType <char>("CHAR", (r, i) => DataTools.GetChar(r, i));
 }
예제 #2
0
        public IDataProvider GetDataProvider(IEnumerable <NamedValue> attributes)
        {
            var dataProviderOptions = new DB2iSeriesConfiguration {
                MapGuidAsString = false,
                Provider        = DB2iSeriesProvider.DB2,
                Version         = DB2iSeriesVersion.v5r4
            };

            if (attributes == null)
            {
                return(new DB2iSeriesDataProvider_RoyChaseV2_9(dataProviderOptions));
            }
            var attribs = attributes.ToList();
            var attrib  = attribs.FirstOrDefault(_ => _.Name == nameof(DB2iSeriesConfiguration.MapGuidAsString));

            if (attrib != null)
            {
                bool.TryParse(attrib.Value, out var mapGuidAsString);
                dataProviderOptions.MapGuidAsString = mapGuidAsString;
            }
            var version = attribs.FirstOrDefault(_ => _.Name == "MinVer");

            dataProviderOptions.Version = version != null && version.Value == "7.1.38" ? DB2iSeriesVersion.v7r1 : DB2iSeriesVersion.v5r4;
            if (dataProviderOptions.MapGuidAsString)
            {
                dataProviderOptions.Provider = DB2iSeriesProvider.DB2_GAS;
            }
            return(new DB2iSeriesDataProvider_RoyChaseV2_9(dataProviderOptions));
        }
 public DB2iSeriesDataProvider_RoyChaseV2_9(DB2iSeriesConfiguration db2iSeriesConfiguration) : base(db2iSeriesConfiguration.Provider.Name(), db2iSeriesConfiguration.MappingSchema)
 {
     this.db2iSeriesConfiguration = db2iSeriesConfiguration;
     db2iSeriesConfiguration.InitDataProvider(this, SetCharField);
 }
예제 #4
0
 public static BulkCopyRowsCopied BulkCopy_DB2iSeries <T>(this ITable <T> table, BulkCopyOptions options, IEnumerable <T> source, DB2iSeriesConfiguration dB2ISeriesConfiguration, DB2iSeriesBulkCopy bulkCopy = null)
 {
     if (bulkCopy == null)
     {
         bulkCopy = new DB2iSeriesBulkCopy(dB2ISeriesConfiguration);
     }
     return(bulkCopy.BulkCopy(options.BulkCopyType == BulkCopyType.Default ?  DB2iSeriesTools.DefaultBulkCopyType : options.BulkCopyType, table, options, source));
 }