我得到了一个方法来获取到Sql Server的数据库连接字符串:
SqlConnection GetConnectionString()
我调用它并得到连接字符串应该是什么。如果数据库不存在,我需要没有数据库名称的连接字符串。如果我尝试使用有数据库名称的联系字符串,我会得到一个错误,它无法连接到数据库,这就是它,因为它不存在。
我是这样打电话的:
using (var connection = new SqlConnection(GetConnectionString().ConnectionString))
有没有一种方法可以在没有数据库名称的情况下轻松地重新创建连接字符串?
SqlConnectionStringBuilder aBuilder =
new SqlConnectionStringBuilder(yourConnectionStringWithDatabase);
aBuilder.InitialCatalog = "";
string yourConnectionStringWithoutDatabase = aBuilder.ConnectionString;
很简单
var connectionString = "data source=someInstance;initial catalog =someDatabase;etc.";
var pattern = "initial catalog[=\s\w]+;";
var dbRemoved = Regex.Replace(connectionString, pattern, "");
请注意,我还没有处理区分大小写的问题,但对于您的需求来说,这应该是一个良好的开端。