public override string DbTypeFromType(Type t, int size) { t = ((NDOAbstractProvider)this.Provider).ConvertNullableType(t); // The Oracle ADO.NET provider gives us an OracleType.DateTime instead // of an OracleType.Date if (t == typeof(DateTime)) { return("Date"); } if (t == typeof(bool) || t == typeof(byte) || t == typeof(sbyte) || t == typeof(ushort) || t == typeof(int) || t == typeof(short) || t == typeof(uint) || t == typeof(long) || t == typeof(ulong) || t == typeof(float) || t == typeof(double) || t == typeof(decimal)) { return("Number"); } if (t == typeof(string) && size == -1) { return("CLOB"); } OracleDbType dbType = (OracleDbType)Provider.GetDbType(t); return(dbType.ToString()); }
public string ToName(OracleDbType oracleType) { string name; switch (oracleType) { case OracleDbType.Byte: case OracleDbType.Int16: case OracleDbType.Int32: case OracleDbType.Int64: case OracleDbType.Decimal: case OracleDbType.Single: name = "NUMBER"; break; case OracleDbType.Date: name = "DATE"; break; case OracleDbType.Char: name = "CHAR"; break; case OracleDbType.Varchar2: name = "VARCHAR2"; break; case OracleDbType.Long: name = "LONG"; break; case OracleDbType.Clob: name = "CLOB"; break; case OracleDbType.TimeStamp: name = "TIMESTAMP"; break; case OracleDbType.Blob: name = "BLOB"; break; case OracleDbType.XmlType: name = "XMLTYPE"; break; // case OracleDbType.row // name = "ROWID"; // break; default: name = oracleType.ToString("G"); break; } return(name); }
public override string GetNativeDbTypeName(IDataParameter para) { OracleParameter oraPara = (OracleParameter)para; OracleDbType oraType = oraPara.OracleDbType; if (oraType == OracleDbType.Date) { return("Date"); } else if (oraType == OracleDbType.Int32) { return("INT"); } else { return(oraType.ToString()); } }
private static object GetEnumValue(object value, OracleDbType oracleDbType) { if (value == null) { return(DBNull.Value); } object v = null; switch (oracleDbType) { //case OracleDbType.: // { // v = Convert.ToBoolean(value); // break; // } case OracleDbType.Byte: { v = Convert.ToByte(value); break; } case OracleDbType.Int32: { v = Convert.ToInt32(value); break; } case OracleDbType.Int64: { v = Convert.ToInt64(value); break; } case OracleDbType.Int16: { v = Convert.ToInt16(value); break; } default: { throw new InvalidCastException(string.Format("Value of {0} cannot be converted to {1}", value.GetType().Name, oracleDbType.ToString())); } } return(v); }