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
    类型:System.String
    定义一个目标数据源的DDEX提供程序特定的数据连接字符串。

返回值

类型:System.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 命名空间