【发布时间】:2019-04-05 17:19:54
【问题描述】:
我做了一个完美的应用程序,我必须为该应用程序进行安装。但是我有一个 localDB,并且存在我的问题,存储 mdf 文件的方式和位置。 我在谷歌上搜索过,但我还没有找到解决方案。
我尝试了两种解决方案。
- 通过 exe 文件将 mdf 文件包含到安装文件夹中。 当我这样做时,程序启动并正常执行,数据库工作,直到我有更新或插入命令,抛出异常,表示 db 是只读的。我尝试使用管理员运行或更改权限,但仍然存在同样的问题。
- 将 mdf 文件保存到 mydocuments 或 appdata 这样我通过VS安装程序创建特殊文件夹并在那里添加mdf文件,但问题是我不知道如何制作相对连接字符串,因为它设置为datadirectory。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="Test1" connectionString=" Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Artikli.mdf;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
其他程序将其数据库存储在哪里?最好的方法是什么?
【问题讨论】:
-
您是不是想迂回询问如何将
DataDirectory变量设置为特定路径?如果是这样,那已经被覆盖了很多次;只需在搜索框中键入 DataDirectory。如果您真的要求“最佳方式”,这是一个意见类型的问题,并且可能会被关闭。
标签: c# database winforms relative-path appdata