首先我使用了这个连接字符串:
SqlConnection conn = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename='D:\LH\Personalitytest win\DB.mdf';Integrated Security=True;Database=DB")
但是当我得到"错误:26 - 错误找到指定的服务器/实例"我猜测连接的数据源不正确(尽管AttachDbFilename绝对不正确)。所以,我将连接字符串更改为:
SqlConnection conn = new SqlConnection(@"Server=(localdb)\v11.0;AttachDbFilename=" + AppDomain.CurrentDomain.BaseDirectory + "DB.mdf;Database=DB;Trusted_Connection=Yes;");
我收到一个错误,基本上说找不到文件DB.mdf。
因此,我确保将.mdf和.ldf文件复制到安装目录/数据库。 但是在安装之后这两个文件都是只读的(即使这些文件在我开发时具有读/写持久性)。我试图通过以下方式首次启动应用程序来更改文件权限(对于这两个文件):
string path = AppDomain.CurrentDomain.BaseDirectory + @"Database\DB.mdf";
FileInfo file = new FileInfo(path);
file.IsReadOnly = false;
和
File.SetAttributes(path, FileAttributes.Normal);
和
FileAttributes attributes = File.GetAttributes(path);
attributes = attributes & ~FileAttributes.ReadOnly;
File.SetAttributes(path, attributes);
但这两种方法都不起作用。
我的问题基本上是,如何在最终版本中实施数据库?