共用方式為


IVsDataSourceSpecializer.DeriveSource 方法

從 DDEX 提供者特定的資料連接字串是由 DDEX 資料來源,則為,如果可能,。

命名空間:  Microsoft.VisualStudio.Data.Core
組件:  Microsoft.VisualStudio.Data.Core (在 Microsoft.VisualStudio.Data.Core.dll 中)

語法

'宣告
Function DeriveSource ( _
    connectionString As String _
) As Guid
Guid DeriveSource(
    string connectionString
)
Guid DeriveSource(
    String^ connectionString
)
abstract DeriveSource : 
        connectionString:string -> Guid
function DeriveSource(
    connectionString : String
) : Guid

參數

  • connectionString
    類型:String

    定義一個目標資料來源的 DDEX 提供者特定的資料連接字串。

傳回值

類型:Guid
有效,判斷表示目標資料來源的型別的已註冊 DDEX 資料來源識別項是由連接字串所識別。

例外狀況

例外狀況 條件
ArgumentNullException

connectionString 參數為 nullnull 參考 (即 Visual Basic 中的 Nothing)。

備註

這是在 IVsDataSourceSpecializer 介面的最重要的方法。 它可讓 DDEX 用戶端使用 DDEX 提供者識別項和資料連接字串來判斷提供者是否具有特製化支援 DDEX 資料來源所指向的連接字串資訊。 如果這個方法會傳回非空白的 GUID,用戶端通常會反轉並呼叫介面中的其他方法,傳遞做為 DDEX 資料來源識別項,擷取支援實體的資料來源特定實作。

範例

下列程式碼會示範這個方法的基底實作 Microsoft SQL Server DDEX 提供者的。 這個提供者支援兩個資料來源:其中一個是 SQL Server 資料庫中,而另一個控制項是在本機電腦上資料庫檔案的 SQL Server Express Edition 資料庫。 它會判斷資料來源應該是資料庫檔案,就會在連接字串中 AttachDBFilename 關鍵字。 (此範例不會顯示建議的方法,是適當剖析字串)。這個範例會從框架 DataSourceSpecializer 類別繼承,以提供其他介面方法的預設實作。

using System;
using Microsoft.VisualStudio.Data.Core;
using Microsoft.VisualStudio.Data.Framework;

public class MySourceSpecializer3 : DataSourceSpecializer
{
    private static readonly Guid s_sqlServerDataSource =
        new Guid("067EA0D9-BA62-43f7-9106-34930C60C528");
    private static readonly Guid s_sqlServerFileDataSource =
        new Guid("485C80D5-BC85-46db-9E6D-4238A0AD7B6B");

    public override Guid DeriveSource(string connectionString)
    {
        if (connectionString == null)
        {
            throw new ArgumentNullException("connectionString");
        }
        if (connectionString.Contains("AttachDBFilename"))
        {
            return s_sqlServerFileDataSource;
        }
        return s_sqlServerDataSource;
    }
}

.NET Framework 安全性

請參閱

參考

IVsDataSourceSpecializer 介面

Microsoft.VisualStudio.Data.Core 命名空間