public ISqlDataSource GetDataSource(bool createIfNotExists) { ISqlDataSource ret = null; if (_credentials.DSN.Length > 0) { ret = new MySqlDataSource(this); } else { DataSourceType type = SqlDataSource.GetDriverType(_credentials); switch (type) { case DataSourceType.MySqlOdbc: ret = new MySqlDataSource(this); break; case DataSourceType.MySqlNative: default: ret = new MySqlNativeDataSource(this); break; } } return(ret); }
//获取表列表 public IActionResult GetDataTables(string SchemaName) { ISqlDataSource dataSource = DataToModel.GetDataSource("mysql"); List <DataTable> list = dataSource.GetDataTables(SchemaName); ResultMsg msg = new ResultMsg(true); msg.Data = list; return(Json(msg)); }
//获取数据库列表 public IActionResult GetDataSchema() { ISqlDataSource dataSource = DataToModel.GetDataSource("mysql"); List <DataSchema> list = dataSource.GetSchemas(); ResultMsg msg = new ResultMsg(true); msg.Data = list; return(Json(msg)); }
public IActionResult CodeViewWeb(string SchemaName, string TableName, string SetTableName) { ISqlDataSource dataSource = DataToModel.GetDataSource("mysql"); DataTable table = dataSource.GetDataTableByName(SchemaName, TableName); List <DataField> list = dataSource.GetDataFieldByName(SchemaName, TableName); StringBuilder sb = new StringBuilder(); //外部设置的表名 if (string.IsNullOrEmpty(SetTableName)) { SetTableName = table.TableName; } if (table != null) { sb.Append(" /// <summary>\r\n"); sb.Append(" ///" + table.TableNote).Append("\r\n"); sb.Append(" /// </summary>").Append("\r\n"); sb.Append(" public class ").Append(SetTableName).Append("\r\n").Append(" {"); sb.Append("\r\n"); foreach (var item in list) { string systemtype = DataTypeExtend.MySql2CSharpType(item.FieldType); if (item.FieldName == "Guid") { systemtype = "Guid"; } string def = DataTypeExtend.GetDefValue(systemtype); string field_p = "_" + DataTypeExtend.FirstLetterLowercase(item.FieldName); //long特殊处理 if (systemtype == "long") { systemtype = "string"; def = "\"0\""; } sb.Append(string.Format(" private {0} {1}= {2};", systemtype, field_p, def)); sb.Append("\r\n"); sb.Append(" /// <summary>\r\n"); sb.Append(" ///" + item.FieldNote).Append("\r\n"); sb.Append(" /// </summary>").Append("\r\n"); sb.Append(string.Format(" public virtual {0} {1}", systemtype, item.FieldName)); sb.Append("\r\n"); sb.Append(" {"); sb.Append("\r\n"); sb.Append(" get { return " + field_p + "; }"); sb.Append("\r\n"); sb.Append(" set { " + field_p + " = value; }"); sb.Append("\r\n"); sb.Append(" }"); sb.Append("\r\n"); } sb.Append(" }"); } ResultMsg msg = new ResultMsg(true); msg.Data = sb.ToString(); return(Json(msg)); }
protected DataSourceBase(SqlDBCredentials sqlCredentials) { _internalDatabaseType = InternalDatabaseType.Unknown; Credentials = sqlCredentials; m_DB = SqlConnectionPool.Instance(sqlCredentials).GetDataSource(); if (m_DB == null) { throw new DataSourceException("Could not instantiate {0} with the following credentials: {1}", GetType(), sqlCredentials); } if (CheckDeclarations) { ValidateMethods(GetType()); } LoadCachedTypeInformation(); }
public static DBResult GetDatabaseVersion(SqlDBCredentials credentials, out SoftwareVersion version, out InternalDatabaseType databaseType) { DBResult retVal = new DBResult(DBResult.Result.Success); try { _databaseVersionLock.Lock(); version = null; databaseType = InternalDatabaseType.Unknown; String indexKey = credentials.ToParsableString(); if (!_databaseVersionLookup.TryGetValue(indexKey, out version)) { ISqlDataSource ds = SqlConnectionPool.Instance(credentials).GetDataSource(); DatabaseDataReader reader; QueryString sql = ds.FormatTrusted("SELECT * FROM I.seq where name in ('{0}', '{1}')", KEY_DB_TYPE, KEY_SCHEMA_VER); retVal = ds.Query(sql, out reader); if (retVal.ResultCode == DBResult.Result.Success && reader.HasRows) { while (reader.Read()) { String key = DBUtil.GetString(reader[COL_KEY]); if (key == KEY_SCHEMA_VER) { version = DBUtil.GetSoftwareVersion(reader[COL_VALUE]); } else if (key == KEY_DB_TYPE) { databaseType = (InternalDatabaseType)DBUtil.GetInt32(reader[COL_VALUE]); } } _databaseVersionLookup.Add(indexKey, version); } } } finally { _databaseVersionLock.Unlock(); } return(retVal); }
public DotsDataSource(SqlDBCredentials credentials) { DB = SqlConnectionPool.Instance(credentials).GetDataSource(); }