Пример #1
0
        // Create an input source of given type and location
        // The locator argument is a path or connection string. The actual filename or table name comes later.
        public static DataSourceStream Create(string source, string locator)
        {
            switch (source)
            {
            case "con":
                return(DataSourceCon.Create(locator));

            case "txt":
                return(DataSourceFile.Create(locator));

            case "csv":
                return(DataSourceCsv.Create(locator));

            case "sql":
                return(DataSourceSql.Create(locator));

            case "oledb":
                return(DataSourceOleDb.Create(locator));

            case "odbc":
                return(DataSourceOdbc.Create(locator));

            default:
                Logger.Assert(false, source);
                break;
            }
            return(null);
        }
Пример #2
0
        // Factory method
        public static DataSourceOdbc Create(string locator)
        {
            var ds = new DataSourceOdbc {
                _locator = locator,
            };

            try {
                ds._connection = new OdbcConnection(locator);
            } catch (Exception ex) {
                throw ProgramError.Fatal("Source Odbc", ex.Message);
            }
            ds._convdict = new Dictionary <string, ConversionTypes> {
                { "CHAR", ConversionTypes.String },
                { "VARCHAR", ConversionTypes.String },
                { "NCHAR", ConversionTypes.String },
                { "NVARCHAR", ConversionTypes.String },
                { "INTEGER", ConversionTypes.Int },
            };
            return(ds);
        }