private DataItem CreateDataItem(DataSourceView parDsv, string parTableName, string parColumnName) { DataTable dataTable = ((DataSourceView)parDsv).Schema.Tables[parTableName]; DataColumn dataColumn = dataTable.Columns[parColumnName]; return(new DataItem(parTableName, parColumnName, OleDbTypeConverter.GetRestrictedOleDbType(dataColumn.DataType))); }
/// <summary> /// Create data item /// </summary> /// <param name="dsv"></param> /// <param name="factTableName"></param> /// <param name="factFKDimColumnName"></param> /// <param name="dataType"></param> /// <returns></returns> internal static DataItem CREATE_DATA_ITEM( DB_SQLHELPER_BASE sqlHelper, DataSourceView dsv, String factTableName, String factFKDimColumnName, System.Data.OleDb.OleDbType dataType) { DataTable data_table = dsv.Schema.Tables[factTableName]; DataColumn dataColumn = data_table.Columns[factFKDimColumnName]; if (dataColumn == null) { sqlHelper.ADD_MESSAGE_LOG( String.Format("Table [{0}] doesn't have column [{0}]", factTableName, factFKDimColumnName), MESSAGE_TYPE.COLUMN_BINDING_DATA_ITEM, MESSAGE_RESULT_TYPE.Error); } DataItem dataItem = new DataItem(factTableName, dataColumn.ColumnName); if (dataType != null) { dataItem.DataType = dataType; } else { dataItem.DataType = OleDbTypeConverter.GetRestrictedOleDbType(dataColumn.DataType); } return(dataItem); }
/// <summary> /// Create Column Binding Data Item /// </summary> /// <param name="dsv"></param> /// <param name="tableName"></param> /// <param name="columnName"></param> /// <param name="dataType"></param> /// <returns></returns> internal static DataItem CREATE_COLUMN_BINDING_DATA_ITEM( DB_SQLHELPER_BASE sqlHelper, DataSourceView dsv, String tableName, String columnName, System.Data.OleDb.OleDbType dataType) { DataItem dataItem = null; DataTable data_table = dsv.Schema.Tables[tableName]; if (data_table == null) { sqlHelper.ADD_MESSAGE_LOG( String.Format("Table {0} is not existed in current DSV", tableName), MESSAGE_TYPE.COLUMN_BINDING_DATA_ITEM, MESSAGE_RESULT_TYPE.Warning); } DataColumn dataColumn = data_table.Columns[columnName]; if (dataColumn == null) { sqlHelper.ADD_MESSAGE_LOG( String.Format("Column {0} is not existed in table {1}", columnName, tableName), MESSAGE_TYPE.COLUMN_BINDING_DATA_ITEM, MESSAGE_RESULT_TYPE.Warning); } dataItem = new DataItem(tableName, dataColumn.ColumnName); if (dataType != null) { dataItem.DataType = dataType; } else { dataItem.DataType = OleDbTypeConverter.GetRestrictedOleDbType(dataColumn.DataType); } return(dataItem); }
private DataItem CreateDataItem(DataSourceView dsv, string tableName, string columnName) { DataTable dataTable = ((DataSourceView)dsv).Schema.Tables[tableName]; DataColumn dataColumn = dataTable.Columns[columnName]; return(new DataItem(tableName, columnName, OleDbTypeConverter.GetRestrictedOleDbType(dataColumn.DataType))); }
private void SetProperties(MeasureDataType dataType, Type type, double min, double max, bool allowsDecimals, bool allowsMoreThan4Decimals) { this.dataType = dataType; this.type = type; if (dataType == MeasureDataType.Currency) //Type=Decimal isn't enough for it to correctly determine Currency { this.oleDbType = OleDbType.Currency; } else { this.oleDbType = OleDbTypeConverter.GetRestrictedOleDbType(type); } this.min = min; this.max = max; this.displayMin = FormatDouble(min); this.displayMax = FormatDouble(max); this.allowsDecimals = allowsDecimals; this.allowsMoreThan4Decimals = allowsMoreThan4Decimals; }
private DataItem CreateDataItem(string tableName, string columnName, NullProcessing aNullProcessing, DataType aDataType) { DataTable dataTable = _CbDataSourceView.Schema.Tables[tableName]; DataColumn dataColumn = dataTable.Columns[columnName]; OleDbType aOleDbType; if (aDataType == null) { aOleDbType = OleDbTypeConverter.GetRestrictedOleDbType(dataColumn.DataType); } else { aOleDbType = ConvertFromSqlDataType(aDataType); } DataItem aDataItem = new DataItem(tableName, columnName, aOleDbType); aDataItem.NullProcessing = aNullProcessing; return(aDataItem); }
public Dictionary <String, LevelPropertyInfo> GetLevelProperties(string cubeName, string dimensionUniqueName, string hierarchyUniqueName, String levelUniqueName) { try { System.Diagnostics.Trace.TraceInformation("{0} Ranet.Olap.Core.Providers.OlapMetadataProvider Get Level '{1}' Properties Started \r\n cubeName: '{2}' \r\n dimensionUniqueName: '{3}' \r\n hierarchyUniqueName: '{4}' ", DateTime.Now.ToString(), levelUniqueName, cubeName, dimensionUniqueName, hierarchyUniqueName); Dictionary <String, LevelPropertyInfo> list = new Dictionary <String, LevelPropertyInfo>(); // Ищем уровень Level level = FindLevel(cubeName, dimensionUniqueName, hierarchyUniqueName, levelUniqueName); if (level != null) { // Свойства уровня - атрибуты AdomdConnection conn = GetConnection(); AdomdRestrictionCollection restrictions = new AdomdRestrictionCollection(); restrictions.Add("CATALOG_NAME", conn.Database); restrictions.Add("CUBE_NAME", OlapHelper.ConvertToNormalStyle(cubeName)); restrictions.Add("DIMENSION_UNIQUE_NAME", dimensionUniqueName); restrictions.Add("HIERARCHY_UNIQUE_NAME", hierarchyUniqueName); restrictions.Add("LEVEL_UNIQUE_NAME", level.UniqueName); DataSet ds = conn.GetSchemaDataSet("MDSCHEMA_PROPERTIES", restrictions); if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { DataTable table = ds.Tables[0]; if (ds.Tables[0].Columns.Count > 0) { object obj = null; foreach (DataRow row in ds.Tables[0].Rows) { Type type = null; if (table.Columns.Contains("DATA_TYPE")) { obj = row["DATA_TYPE"]; System.Data.OleDb.OleDbType oleDbType = (System.Data.OleDb.OleDbType)(Convert.ToInt32(obj)); type = OleDbTypeConverter.Convert(oleDbType); } String name = String.Empty; if (table.Columns.Contains("PROPERTY_NAME")) { obj = row["PROPERTY_NAME"]; if (obj != null) { name = obj.ToString(); } } String caption = String.Empty; if (table.Columns.Contains("PROPERTY_CAPTION")) { obj = row["PROPERTY_CAPTION"]; if (obj != null) { caption = obj.ToString(); } } String description = String.Empty; if (table.Columns.Contains("DESCRIPTION")) { obj = row["DESCRIPTION"]; if (obj != null) { description = obj.ToString(); } } int propertyType = 0; if (table.Columns.Contains("PROPERTY_TYPE")) { obj = row["PROPERTY_TYPE"]; if (obj != null) { propertyType = Convert.ToInt32(obj); } } LevelPropertyInfo lpi = new LevelPropertyInfo(); lpi.Caption = caption; lpi.Description = description; lpi.Name = name; lpi.ParentLevelId = level.UniqueName; //lpi.DataType = type; if ((propertyType & 0x04) == 0x04) { lpi.IsSystem = true; } lpi.PropertyType = propertyType; //info.LevelProperties.Add(lpi); list.Add(lpi.Name, lpi); } } } //list.Add(info); } return(list); } finally { System.Diagnostics.Trace.TraceInformation("{0} Ranet.Olap.Core.Providers.OlapMetadataProvider Get Level '{1}' Properties Completed ", DateTime.Now.ToString(), levelUniqueName); } }
public static SqlDbType GetSqlDbType(OleDbType oleDbType) { return(OleDbTypeConverter.ToSqlDbType(oleDbType)); }
public static DbType GetDbType(OleDbType oleDbType) { return(OleDbTypeConverter.ToDbType(oleDbType)); }
public static Type GetSystemType(OleDbType oleDbType) { return(OleDbTypeConverter.ToSystemType(oleDbType)); }