![](/img/trans.png)
[英]System.NotSupportedException : 'The format of the given path is not supported.' C#
[英]System.NotSupportedException: 'The given path's format is not supported.'
string dbPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
dbPath = Path.Combine(dbPath, "Database1.mdf");
cn = new SqlConnection (@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory| "+dbPath+";Integrated Security=True");
GetAllRecords();
当我运行此代码时,它会显示此错误
System.NotSupportedException:“不支持给定路径的格式。”
我想连接位于当前用户文件夹中的数据库。 如何解决这个问题?
连接字符串的AttachDbFilename
属性必须实际包含文件的路径。 你的显然没有。 在运行时, |DataDirectory|
被替换为数据目录的路径,这很可能是运行可执行文件的文件夹。 如果您的数据文件在您的文档文件夹中,那么它显然不在程序文件夹下,那么您为什么要使用|DataDirectory|
有吗? 摆脱它并使用数据文件的路径。
|DataDirectory|
的要点是您可以将数据文件放在程序文件夹中并对路径进行硬编码,即使在运行时您实际上并不知道该文件夹的路径。 如果您没有将数据文件存储在数据目录中,则不要使用|DataDirectory|
在连接字符串中。 当您在项目文件夹中有一个源数据文件时最有用,该文件在您构建时会自动复制到 output 文件夹中。 |DataDirectory|
然后将在调试时和发布后工作,无论应用程序在哪里。
我认为它只需要new SqlConnection ($"...AttachDbFilename={dbPath}");
没有DataDirectory
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.