C# - 从连接字符串获取文件路径

Nim*_*oud 4 c# connection-string sql-server-ce

有没有在C#中现有的方法来提取一个代表一个字符串的文件路径ConnectionStringSqlCE .自卫队文件吗?我想检查文件是否在初始化时存在,如果文件已被修改则备份它.

示例连接字符串:

strConn = "Data Source=|DataDirectory|\dbAlias.sdf";
Run Code Online (Sandbox Code Playgroud)

Gio*_*rgi 6

您可以使用SqlCeConnectionStringBuilder类来解析现有的Sql Compact连接字符串.

  • 很高兴向他解释什么属性包含他正在寻找的DataDirectory. (2认同)

Bri*_*don 5

您可以创建连接并从中获取数据源作为属性:

string data;
using (var conn = new SqlConnection(connectionString)) {
    data = conn.DataSource;
}
Run Code Online (Sandbox Code Playgroud)


Lod*_*ijk 5

也许有点晚了,但我遇到了这个问题,并且在努力解决同样的问题.您可以找到该|DataDirectory|文件夹的位置AppDomain.CurrentDomain.GetData("DataDirectory").所以你的connectionstring可以像这样翻译:

strConn .Replace("|DataDirectory|", AppDomain.CurrentDomain.GetData("DataDirectory").ToString())
Run Code Online (Sandbox Code Playgroud)