次の方法で共有


ReinitializeMetaData メソッド

コンポーネントが VS_NEEDSNEWMETADATA を返す結果となる、デザイン時検証で識別されるエラーを修正します。

名前空間:  Microsoft.SqlServer.Dts.Pipeline.Wrapper
アセンブリ:  Microsoft.SqlServer.DTSPipelineWrap (Microsoft.SqlServer.DTSPipelineWrap.dll)

構文

'宣言
Sub ReinitializeMetaData
'使用
Dim instance As IDTSDesigntimeComponent100

instance.ReinitializeMetaData()
void ReinitializeMetaData()
void ReinitializeMetaData()
abstract ReinitializeMetaData : unit -> unit 
function ReinitializeMetaData()

説明

ReinitializeMetaData メソッドは、Validate から VS_NEEDSNEWMETADATA を返すコンポーネントに対応して呼び出されます。このメソッドでは、エラーがコンポーネントで修正できる場合は、Validate で識別されたすべてのエラーをコンポーネントで修正します。

使用例

次の例では、コンポーネントでの検証の失敗に応じて ReinitializeMetaData を呼び出しています。

Package p = new Package();
MainPipe dataFlow = ((TaskHost)p.Executables.Add("SSIS.Pipeline.2")).InnerObject as MainPipe;

IDTSComponentMetaData100 md = dataFlow.ComponentMetaDataCollection.New();
md.ComponentClassID = "DTSAdapter.OleDbSource";
CManagedComponentWrapper wrp = md.Instantiate();
wrp.ProvideComponentProperties();

if (wrp.Validate() == DTSValidationStatus.VS_NEEDSNEWMETADATA)
{
    wrp.ReinitializeMetaData();
}
Dim p As Package = New Package 
Dim dataFlow As MainPipe = CType(CType(p.Executables.Add("SSIS.Pipeline.2"), TaskHost).InnerObject, MainPipe) 
Dim md As IDTSComponentMetaData100 = dataFlow.ComponentMetaDataCollection.New 
md.ComponentClassID = "DTSAdapter.OleDbSource" 
Dim wrp As CManagedComponentWrapper = md.Instantiate 
wrp.ProvideComponentProperties

If wrp.Validate = DTSValidationStatus.VS_NEEDSNEWMETADATA Then 
 wrp.ReinitializeMetaData 
End If