从 SQLite 连接字符串中提取信息
Extracting info from SQLite connection string
SQLite 的典型连接字符串类似于:
Data Source=test.db;Version=3;
我在解析连接字符串时看到过类似的问题(如 this one),他们通常最终会说使用 SqlConnectionStringBuilder(我显然在 .Net 上)。对于大多数字符串来说,这似乎是一个不错的选择,但它不适用于 SQLite。它抛出异常 "Keyword not supported:'version'".
我认为 Regex 可能是这里唯一的选择,但有人知道是否还有其他选择吗?我也很想获得用于获取数据源的正则表达式。
虽然我会回答我自己的问题。我最终使用的选项是 DbConnectionStringBuilder。它是 SqlConnectionStringBuilder 的基础 class(呃!)。所以,我可以这样做:
DbConnectionStringBuilder builder = new DbConnectionStringBuilder();
builder.ConnectionString = myConnectionString;
string filePath = ((string)builder["Data Source"]).Trim();
SQLite 的典型连接字符串类似于:
Data Source=test.db;Version=3;
我在解析连接字符串时看到过类似的问题(如 this one),他们通常最终会说使用 SqlConnectionStringBuilder(我显然在 .Net 上)。对于大多数字符串来说,这似乎是一个不错的选择,但它不适用于 SQLite。它抛出异常 "Keyword not supported:'version'".
我认为 Regex 可能是这里唯一的选择,但有人知道是否还有其他选择吗?我也很想获得用于获取数据源的正则表达式。
虽然我会回答我自己的问题。我最终使用的选项是 DbConnectionStringBuilder。它是 SqlConnectionStringBuilder 的基础 class(呃!)。所以,我可以这样做:
DbConnectionStringBuilder builder = new DbConnectionStringBuilder();
builder.ConnectionString = myConnectionString;
string filePath = ((string)builder["Data Source"]).Trim();