System.Data.OracleClient.OracleConvert.JdbcTypeToOracleType C# (CSharp) Method

JdbcTypeToOracleType() static private method

static private JdbcTypeToOracleType ( int jdbcType ) : OracleType
jdbcType int
return OracleType
		internal static OracleType JdbcTypeToOracleType(int jdbcType) {
			switch ((JavaSqlTypes)jdbcType) {
				case JavaSqlTypes.ARRAY: return OracleType.Blob;
				case JavaSqlTypes.BIGINT: return OracleType.Number;
				case JavaSqlTypes.BINARY: return OracleType.Blob;
				case JavaSqlTypes.BIT: return OracleType.Byte;
				case JavaSqlTypes.BLOB: return OracleType.Blob;
				case JavaSqlTypes.BOOLEAN: return OracleType.Byte;
				case JavaSqlTypes.CHAR: return OracleType.Char;
				case JavaSqlTypes.CLOB: return OracleType.Clob;
//				case JavaSqlTypes.DATALINK: return OracleType.IUnknown;
				case JavaSqlTypes.DATE: return OracleType.DateTime;
				case JavaSqlTypes.DECIMAL: return OracleType.Number;
//				case JavaSqlTypes.DISTINCT: return OracleType.IUnknown; 
				case JavaSqlTypes.DOUBLE: return OracleType.Double;
				case JavaSqlTypes.FLOAT: return OracleType.Float;
				case JavaSqlTypes.INTEGER: return OracleType.Int32;
//				case JavaSqlTypes.JAVA_OBJECT: return OracleType.IUnknown;
				case JavaSqlTypes.LONGVARBINARY: return OracleType.LongRaw;
				case JavaSqlTypes.LONGVARCHAR: return OracleType.LongVarChar;
//				case JavaSqlTypes.NULL: return OracleType.Empty;
				case JavaSqlTypes.NUMERIC: return OracleType.Number;
//				case JavaSqlTypes.OTHER: return OracleType.IUnknown;
//				case JavaSqlTypes.REAL: return OracleType.Single;
//				case JavaSqlTypes.REF: return OracleType.IUnknown;
				case JavaSqlTypes.SMALLINT: return OracleType.Int16;
//				case JavaSqlTypes.STRUCT: return OracleType.IUnknown;
				case JavaSqlTypes.TIME: return OracleType.TimestampLocal;
				case JavaSqlTypes.TIMESTAMP: return OracleType.Timestamp;
				case JavaSqlTypes.TINYINT: return OracleType.Byte;
				case JavaSqlTypes.VARBINARY: return OracleType.LongVarChar;
				default:
				case JavaSqlTypes.VARCHAR: return OracleType.VarChar;

				case JavaSqlTypes.BINARY_FLOAT: return OracleType.Float;
				case JavaSqlTypes.BINARY_DOUBLE: return OracleType.Double;
				case JavaSqlTypes.ROWID: return OracleType.RowId;
				case JavaSqlTypes.CURSOR: return OracleType.Cursor;
				case JavaSqlTypes.TIMESTAMPNS: return OracleType.Timestamp;
				case JavaSqlTypes.TIMESTAMPTZ: return OracleType.TimestampWithTZ;
				case JavaSqlTypes.TIMESTAMPLTZ: return OracleType.TimestampLocal; 
				case JavaSqlTypes.INTERVALYM: return OracleType.IntervalYearToMonth;
				case JavaSqlTypes.INTERVALDS: return OracleType.IntervalDayToSecond;
			}
		}

Usage Example

Example #1
0
        protected sealed override object ConvertValue(object value)
        {
            // can not convert null or DbNull to other types
            if (value == null || value == DBNull.Value)
            {
                return(value);
            }

            // TBD : some other way to do this?
//			if (OracleType == OracleType.Binary) {
//				return value;
//			}
            // .NET throws an exception to the user.
            object convertedValue = value;

            // note : if we set user parameter jdbc type inside prepare interbal, the db type is not set
            if (value is IConvertible && (IsDbTypeSet || IsJdbcTypeSet))
            {
                OracleType oleDbType = (IsDbTypeSet) ? OracleType : OracleConvert.JdbcTypeToOracleType((int)JdbcType);
                Type       to        = OracleConvert.OracleTypeToValueType(oleDbType);
                if (!(value is DateTime && to == OracleConvert.TypeOfTimespan))                 //anyway will go by jdbc type
                {
                    convertedValue = Convert.ChangeType(value, to);
                }
            }
            return(convertedValue);
        }
All Usage Examples Of System.Data.OracleClient.OracleConvert::JdbcTypeToOracleType