internal static DbType OracleTypeToDbType(OracleType oleDbType) {
switch (oleDbType) {
case OracleType.BFile : return DbType.Binary;
case OracleType.Blob : return DbType.Binary;
case OracleType.Byte : return DbType.Byte;
case OracleType.Char : return DbType.StringFixedLength;
case OracleType.Clob : return DbType.String;
case OracleType.Cursor : return DbType.Object;
case OracleType.DateTime : return DbType.DateTime;
case OracleType.Double : return DbType.Double;
case OracleType.Float : return DbType.Single;
case OracleType.Int16 : return DbType.Int16;
case OracleType.Int32 : return DbType.Int32;
case OracleType.IntervalDayToSecond : return DbType.Time;
case OracleType.IntervalYearToMonth : return DbType.Int32;
case OracleType.LongRaw : return DbType.Binary;
case OracleType.LongVarChar : return DbType.String;
case OracleType.NChar : return DbType.AnsiStringFixedLength;
case OracleType.NClob : return DbType.AnsiString;
case OracleType.Number : return DbType.VarNumeric;
case OracleType.NVarChar : return DbType.AnsiString;
case OracleType.Raw : return DbType.Binary;
case OracleType.RowId : return DbType.AnsiStringFixedLength;
case OracleType.SByte : return DbType.SByte;
case OracleType.Timestamp : return DbType.Time;
case OracleType.TimestampLocal : return DbType.Time;
case OracleType.TimestampWithTZ : return DbType.Time;
case OracleType.UInt16 : return DbType.UInt16;
case OracleType.UInt32 : return DbType.UInt32;
case OracleType.VarChar : return DbType.String;
// case OracleType.Empty : return DbType.Object;
// case OracleType.SmallInt : return DbType.Int16;
// case OracleType.Integer : return DbType.Int32;
// case OracleType.Single : return DbType.Single;
// case OracleType.Double : return DbType.Double;
// case OracleType.Currency : return DbType.Currency;
// case OracleType.Date : return DbType.DateTime;
// case OracleType.BSTR : return DbType.String;
// case OracleType.IDispatch : return DbType.Object;
// case OracleType.Error : return DbType.Object;
// case OracleType.Boolean : return DbType.Boolean;
// case OracleType.Variant : return DbType.Object;
// case OracleType.IUnknown : return DbType.Object;
// case OracleType.Decimal : return DbType.Decimal;
// case OracleType.TinyInt : return DbType.SByte;
// case OracleType.UnsignedTinyInt : return DbType.Byte;
// case OracleType.UnsignedSmallInt : return DbType.UInt16;
// case OracleType.UnsignedInt : return DbType.UInt32;
// case OracleType.BigInt : return DbType.Int64;
// case OracleType.UnsignedBigInt : return DbType.UInt64;
// case OracleType.Filetime : return DbType.DateTime;
// case OracleType.Guid : return DbType.Guid;
// case OracleType.Binary : return DbType.Binary;
// case OracleType.Char : return DbType.AnsiStringFixedLength;
// case OracleType.WChar : return DbType.StringFixedLength;
// case OracleType.Numeric : return DbType.Decimal;
// case OracleType.DBDate : return DbType.Date;
// case OracleType.DBTime : return DbType.Time;
// case OracleType.DBTimeStamp : return DbType.DateTime;
// case OracleType.PropVariant : return DbType.Object;
// case OracleType.VarNumeric : return DbType.VarNumeric;
// case OracleType.VarChar : return DbType.AnsiString;
// case OracleType.LongVarChar : return DbType.AnsiString;
// case OracleType.VarWChar : return DbType.String;
// case OracleType.LongVarWChar : return DbType.String;
// case OracleType.VarBinary : return DbType.Binary;
// case OracleType.LongVarBinary : return DbType.Binary;
default : throw ExceptionHelper.InvalidOleDbType((int)oleDbType);
}
}