提取"初始目录"来自SSIS 2008中的连接字符串

时间:2014-05-13 15:56:32

标签: regex ssis

大家能否帮助我使用正则表达式从连接字符串中提取初始目录的值?

  'Data Source=server\instance;Initial Catalog=MyDatabase;Integrated Security=True'

我想从连接字符串中提取“MyDatabase”

   Catalog=(?s)(.*); 

使用上面提到的表达式。我只想要数据库名称。如何让它忽略目录和;在最后和任何可能的空格

1 个答案:

答案 0 :(得分:1)

您可以在另一个变量中使用的SSIS表达式来提取初始目录名称。

SUBSTRING ( 
    SUBSTRING (  
        @[User:Connstring], 
        FINDSTRING (  
            @[User:Connstring],
            "Initial Catalog=",
            1),
        LEN (  @[User:Connstring])
    ),
    17,
    FINDSTRING ( 
        SUBSTRING (  
            @[User:Connstring],
            FINDSTRING (
                @[User:Connstring],
                "Initial Catalog=",
                1
            ),
            LEN ( @[User:Connstring])
        ),
        ";",
        1
    )  
    - 17
)