mirror of
				https://github.com/nsnail/FreeSql.git
				synced 2025-11-04 09:15:27 +08:00 
			
		
		
		
	- 补充 达梦 DbFirst 类型处理;
This commit is contained in:
		@@ -83,9 +83,9 @@ public class g
 | 
				
			|||||||
        .Build());
 | 
					        .Build());
 | 
				
			||||||
    public static IFreeSql dameng => damemgLazy.Value;
 | 
					    public static IFreeSql dameng => damemgLazy.Value;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    //启动南大通用数据库 oninit -vy
 | 
				
			||||||
    static Lazy<IFreeSql> gbaseLazy = new Lazy<IFreeSql>(() => new FreeSql.FreeSqlBuilder()
 | 
					    static Lazy<IFreeSql> gbaseLazy = new Lazy<IFreeSql>(() => new FreeSql.FreeSqlBuilder()
 | 
				
			||||||
        .UseConnectionString(FreeSql.DataType.OdbcDameng, "Driver={DM8 ODBC DRIVER};Server=127.0.0.1:5236;Persist Security Info=False;Trusted_Connection=Yes;UID=USER1;PWD=123456789")
 | 
					        .UseConnectionString(FreeSql.DataType.OdbcDameng, "Driver={GBase ODBC DRIVER (64-bit)};Server=192.168.164.10:5236;Persist Security Info=False;Trusted_Connection=Yes;UID=USER1;PWD=123456789")
 | 
				
			||||||
        //.UseConnectionFactory(FreeSql.DataType.OdbcDameng, () => new System.Data.Odbc.OdbcConnection("Driver={DM8 ODBC DRIVER};Server=127.0.0.1:5236;Persist Security Info=False;Trusted_Connection=Yes;UID=USER1;PWD=123456789"))
 | 
					        //.UseConnectionFactory(FreeSql.DataType.OdbcDameng, () => new System.Data.Odbc.OdbcConnection("Driver={DM8 ODBC DRIVER};Server=127.0.0.1:5236;Persist Security Info=False;Trusted_Connection=Yes;UID=USER1;PWD=123456789"))
 | 
				
			||||||
        .UseAutoSyncStructure(true)
 | 
					        .UseAutoSyncStructure(true)
 | 
				
			||||||
        .UseLazyLoading(true)
 | 
					        .UseLazyLoading(true)
 | 
				
			||||||
@@ -98,6 +98,7 @@ public class g
 | 
				
			|||||||
        .Build());
 | 
					        .Build());
 | 
				
			||||||
    public static IFreeSql gbase => gbaseLazy.Value;
 | 
					    public static IFreeSql gbase => gbaseLazy.Value;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    //启动神州通用数据库 /etc/init.d/oscardb_OSRDBd start
 | 
					    //启动神州通用数据库 /etc/init.d/oscardb_OSRDBd start
 | 
				
			||||||
    //SYSDBA 密码 szoscar55
 | 
					    //SYSDBA 密码 szoscar55
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -52,17 +52,49 @@ namespace FreeSql.Odbc.Dameng
 | 
				
			|||||||
                case "blob": return OdbcType.VarBinary;
 | 
					                case "blob": return OdbcType.VarBinary;
 | 
				
			||||||
                case "nvarchar2(255)": return OdbcType.NVarChar;
 | 
					                case "nvarchar2(255)": return OdbcType.NVarChar;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                case "char(36 char)": return OdbcType.Char;
 | 
					                case "char(36)": return OdbcType.Char;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            switch (column.DbTypeText.ToLower())
 | 
					            switch (column.DbTypeText.ToLower())
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
 | 
					                case "bit":
 | 
				
			||||||
 | 
					                    _dicDbToCs.TryAdd(dbfull, _dicDbToCs["number(1)"]);
 | 
				
			||||||
 | 
					                    return OdbcType.Bit;
 | 
				
			||||||
 | 
					                case "smallint":
 | 
				
			||||||
 | 
					                    _dicDbToCs.TryAdd(dbfull, _dicDbToCs["number(5)"]);
 | 
				
			||||||
 | 
					                    return OdbcType.SmallInt;
 | 
				
			||||||
 | 
					                case "byte":
 | 
				
			||||||
 | 
					                    _dicDbToCs.TryAdd(dbfull, _dicDbToCs["number(3)"]);
 | 
				
			||||||
 | 
					                    return OdbcType.TinyInt;
 | 
				
			||||||
 | 
					                case "tinyint":
 | 
				
			||||||
 | 
					                    _dicDbToCs.TryAdd(dbfull, _dicDbToCs["number(3)"]);
 | 
				
			||||||
 | 
					                    return OdbcType.TinyInt;
 | 
				
			||||||
 | 
					                case "integer":
 | 
				
			||||||
 | 
					                    _dicDbToCs.TryAdd(dbfull, _dicDbToCs["number(11)"]);
 | 
				
			||||||
 | 
					                    return OdbcType.Int;
 | 
				
			||||||
 | 
					                case "bigint":
 | 
				
			||||||
 | 
					                    _dicDbToCs.TryAdd(dbfull, _dicDbToCs["number(21)"]);
 | 
				
			||||||
 | 
					                    return OdbcType.Int;
 | 
				
			||||||
 | 
					                case "dec":
 | 
				
			||||||
 | 
					                case "decimal":
 | 
				
			||||||
 | 
					                case "numeric":
 | 
				
			||||||
                case "number":
 | 
					                case "number":
 | 
				
			||||||
                    _dicDbToCs.TryAdd(dbfull, _dicDbToCs["number(10,2)"]);
 | 
					                    _dicDbToCs.TryAdd(dbfull, _dicDbToCs["number(10,2)"]);
 | 
				
			||||||
                    return OdbcType.Decimal;
 | 
					                    return OdbcType.Decimal;
 | 
				
			||||||
                case "float":
 | 
					                case "time":
 | 
				
			||||||
                    _dicDbToCs.TryAdd(dbfull, _dicDbToCs["float(126)"]);
 | 
					 | 
				
			||||||
                    return OdbcType.Double;
 | 
					 | 
				
			||||||
                case "interval day to second":
 | 
					                case "interval day to second":
 | 
				
			||||||
 | 
					                case "interval year to month":
 | 
				
			||||||
 | 
					                case "interval year":
 | 
				
			||||||
 | 
					                case "interval month":
 | 
				
			||||||
 | 
					                case "interval day":
 | 
				
			||||||
 | 
					                case "interval day to hour":
 | 
				
			||||||
 | 
					                case "interval day to minute":
 | 
				
			||||||
 | 
					                case "interval hour":
 | 
				
			||||||
 | 
					                case "interval hour to minute":
 | 
				
			||||||
 | 
					                case "interval hour to second":
 | 
				
			||||||
 | 
					                case "interval minute":
 | 
				
			||||||
 | 
					                case "interval minute to second":
 | 
				
			||||||
 | 
					                case "interval second":
 | 
				
			||||||
 | 
					                case "time with time zone":
 | 
				
			||||||
                    _dicDbToCs.TryAdd(dbfull, _dicDbToCs["interval day(2) to second(6)"]);
 | 
					                    _dicDbToCs.TryAdd(dbfull, _dicDbToCs["interval day(2) to second(6)"]);
 | 
				
			||||||
                    return OdbcType.Time;
 | 
					                    return OdbcType.Time;
 | 
				
			||||||
                case "date":
 | 
					                case "date":
 | 
				
			||||||
@@ -72,17 +104,27 @@ namespace FreeSql.Odbc.Dameng
 | 
				
			|||||||
                    _dicDbToCs.TryAdd(dbfull, _dicDbToCs["timestamp(6)"]);
 | 
					                    _dicDbToCs.TryAdd(dbfull, _dicDbToCs["timestamp(6)"]);
 | 
				
			||||||
                    return OdbcType.DateTime;
 | 
					                    return OdbcType.DateTime;
 | 
				
			||||||
                case "timestamp with local time zone":
 | 
					                case "timestamp with local time zone":
 | 
				
			||||||
 | 
					                case "timestamp with time zone":
 | 
				
			||||||
                    _dicDbToCs.TryAdd(dbfull, _dicDbToCs["timestamp(6) with local time zone"]);
 | 
					                    _dicDbToCs.TryAdd(dbfull, _dicDbToCs["timestamp(6) with local time zone"]);
 | 
				
			||||||
                    return OdbcType.DateTime;
 | 
					                    return OdbcType.DateTime;
 | 
				
			||||||
 | 
					                case "binary":
 | 
				
			||||||
 | 
					                case "varbinary":
 | 
				
			||||||
                case "blob":
 | 
					                case "blob":
 | 
				
			||||||
 | 
					                case "image":
 | 
				
			||||||
 | 
					                case "longvarbinary":
 | 
				
			||||||
 | 
					                case "bfile":
 | 
				
			||||||
                    _dicDbToCs.TryAdd(dbfull, _dicDbToCs["blob"]);
 | 
					                    _dicDbToCs.TryAdd(dbfull, _dicDbToCs["blob"]);
 | 
				
			||||||
                    return OdbcType.VarBinary;
 | 
					                    return OdbcType.VarBinary;
 | 
				
			||||||
                case "nvarchar2":
 | 
					                case "nvarchar2":
 | 
				
			||||||
                    _dicDbToCs.TryAdd(dbfull, _dicDbToCs["nvarchar2(255)"]);
 | 
					                    _dicDbToCs.TryAdd(dbfull, _dicDbToCs["nvarchar2(255)"]);
 | 
				
			||||||
                    return OdbcType.NVarChar;
 | 
					                    return OdbcType.NVarChar;
 | 
				
			||||||
 | 
					                case "varchar":
 | 
				
			||||||
                case "varchar2":
 | 
					                case "varchar2":
 | 
				
			||||||
 | 
					                case "text":
 | 
				
			||||||
 | 
					                case "longvarchar":
 | 
				
			||||||
                    _dicDbToCs.TryAdd(dbfull, _dicDbToCs["nvarchar2(255)"]);
 | 
					                    _dicDbToCs.TryAdd(dbfull, _dicDbToCs["nvarchar2(255)"]);
 | 
				
			||||||
                    return OdbcType.NVarChar;
 | 
					                    return OdbcType.NVarChar;
 | 
				
			||||||
 | 
					                case "character":
 | 
				
			||||||
                case "char":
 | 
					                case "char":
 | 
				
			||||||
                    _dicDbToCs.TryAdd(dbfull, _dicDbToCs["nvarchar2(255)"]);
 | 
					                    _dicDbToCs.TryAdd(dbfull, _dicDbToCs["nvarchar2(255)"]);
 | 
				
			||||||
                    return OdbcType.Char;
 | 
					                    return OdbcType.Char;
 | 
				
			||||||
@@ -101,9 +143,13 @@ namespace FreeSql.Odbc.Dameng
 | 
				
			|||||||
                case "long raw":
 | 
					                case "long raw":
 | 
				
			||||||
                    _dicDbToCs.TryAdd(dbfull, _dicDbToCs["blob"]);
 | 
					                    _dicDbToCs.TryAdd(dbfull, _dicDbToCs["blob"]);
 | 
				
			||||||
                    return OdbcType.VarBinary;
 | 
					                    return OdbcType.VarBinary;
 | 
				
			||||||
 | 
					                case "real":
 | 
				
			||||||
                case "binary_float":
 | 
					                case "binary_float":
 | 
				
			||||||
                    _dicDbToCs.TryAdd(dbfull, _dicDbToCs["float(63)"]);
 | 
					                    _dicDbToCs.TryAdd(dbfull, _dicDbToCs["float(63)"]);
 | 
				
			||||||
                    return OdbcType.Real;
 | 
					                    return OdbcType.Real;
 | 
				
			||||||
 | 
					                case "double":
 | 
				
			||||||
 | 
					                case "float":
 | 
				
			||||||
 | 
					                case "double precision":
 | 
				
			||||||
                case "binary_double":
 | 
					                case "binary_double":
 | 
				
			||||||
                    _dicDbToCs.TryAdd(dbfull, _dicDbToCs["float(126)"]);
 | 
					                    _dicDbToCs.TryAdd(dbfull, _dicDbToCs["float(126)"]);
 | 
				
			||||||
                    return OdbcType.Double;
 | 
					                    return OdbcType.Double;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user