博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一、首先打开数据库,我这里以SQL Server 2012数据库为例。

    1.选择工具—>选项 ,如图1

     

                        图 1

    2. 选择表设计器和数据库设计器—>阻止保存要求重新创建表的更改(S)把前面checkbox勾选去掉,然后点击确定,如图2

    

                                                         图 2

二、打开数据库名对应的表,找到要修改的属性,这里相信只要大家学过基本的SQL知识都会改的。具体如图3

把200改为2000 保存下。改的字段为abc_value。

三、通过SQL根据PhysicalName 和 AttributeId 在Attribute表确定其是abc_value这个值。然后在Update其MaxLength的长度为2000,具体代码如下:

SELECT TOP 100 [AttributeId]
      ,[AttributeTypeId]
      ,[Name]
      ,[PhysicalName]
      ,[Length]
      ,[IsNullable]
      ,[XmlAbbreviation]
      ,[EntityId]
      ,[DefaultValue]
      ,[ColumnNumber]
      ,[ValidForUpdateAPI]
      ,[LogicalName]
      ,[ValidForReadAPI]
      ,[ValidForCreateAPI]
      ,[VisibleToPlatform]
      ,[IsPKAttribute]
      ,[IsCustomField]
      ,[IsLogical]
      ,[DisplayMask]
      ,[AttributeOf]
      ,[ReferencedEntityObjectTypeCode]
      ,[AggregateOf]
      ,[IsSortAttribute]
      ,[PrecisionValue]
      ,[PrecisionSource]
      ,[IsIdentity]
      ,[IsReplicated]
      ,[VersionNumber]
      ,[YomiOf]
      ,[AttributeRowId]
      ,[AppDefaultValue]
      ,[AttributeLogicalTypeId]
      ,[Locked]
      ,[AttributeImeModeId]
      ,[AttributeRequiredLevelId]
      ,[MaxLength]
      ,[MinValue]
      ,[MaxValue]
      ,[Accuracy]
      ,[AccuracySource]
      ,[LookupStyle]
      ,[LookupBrowse]
      ,[ImeMode]
      ,[HasMultipleLabels]
      ,[IsRowGuidAttribute]
      ,[IsBaseCurrency]
      ,[CalculationOf]
      ,[IsAuditEnabled]
      ,[UpgradeDefaultValue]
      ,[OptionSetId]
      ,[SolutionId]
      ,[SupportingSolutionId]
      ,[ComponentState]
      ,[OverwriteTime]
      ,[LinkedAttributeId]
      ,[InheritsFrom]
      ,[IsStoredOnPrimaryTable]
      ,[IsInheritanceTypeAttribute]
      ,[TableColumnName]
      ,[IsUnmanagedAttribute]
      ,[IsOneWayBooleanAttribute]
      ,[IsCustomizable]
      ,[IsRenameable]
      ,[CanModifySearchSettings]
      ,[CanModifyRequirementLevelSettings]
      ,[CanBeSecuredForCreate]
      ,[CanBeSecuredForRead]
      ,[CanBeSecuredForUpdate]
      ,[IsSecured]
      ,[DeprecatedVersion]
      ,[IsManaged]
      ,[ManagedPropertyLogicalName]
      ,[ManagedPropertyParentComponentType]
      ,[ManagedPropertyParentAttributeName]
      ,[CanModifyAdditionalSettings]
      ,[ValuesFromRelationshipAttribute]
      ,[CanModifyAuditSettings]
  FROM [组织名称_MSCRM].[MetadataSchema].[Attribute]
  WHERE PhysicalName = 'abc_value' AND AttributeId='F9EE8BA9-69F4-487A-A335-D565FBE9D0FA'
SQL1

SQL1你可以先去掉后面的AttributeId属性,试着查看。

1 Update Attribute
2   SET  MaxLength = 2000
3   WHERE PhysicalName = 'abc_value' AND AttributeId='F9EE8BA9-69F4-487A-A335-D565FBE9D0FA' 
SQL2

 SQL2就是执行修改的方法。

说明:在数据库里面修改实体字段的长度的时候,二和三步骤都不能少。