0

bin\debug当我从or中的项目文件夹运行我的应用程序时bin\release,它工作正常。一切以及我的数据库工作正常。

但是,当我使用调试或发布文件创建设置文件时,我的数据库无法正常工作。我将我的数据库连接设置为:

SqlCeConnection compact_con = new SqlCeConnection(@"Data Source=" + Directory.GetCurrentDirectory() + @"\chondrokotha.dat;Password=4545;");

并将 保存chondrokotha.dat在调试文件夹中。

我的文件如下所示:

在此处输入图像描述

之后,我将数据库放入名为 chonrokotha 的文件夹中。在这个时候错误显示像

在此处输入图像描述

在创建安装文件期间如何解决此问题?

4

1 回答 1

0

根据您的错误消息,很明显,执行您的应用程序的当前用户没有写入数据库文件所在文件夹的权限。这是 Windows Vista(我相信)和更高版本的默认设置 - 默认情况下,普通(非提升用户)没有写入权限C:\program files(总体而言这是一件好事)。

您可以通过以下几种方式解决此问题:

  • 将数据库文件放入用户可以写入的文件夹中,例如C:\tmp或下面的某处C:\Users\(username)\.....

  • 将数据库文件放入独立存储- 一种 .NET 机制,为您提供文件夹,保证用户可以写入

  • 在您的程序文件夹下创建一个子文件夹并授予您的用户(或Everyone)对该文件夹的写入权限

于 2013-05-11T10:47:15.713 回答