我有一个c# winforms应用程序,使用SQL压缩,这里是数据库的连接字符串:
<add name="Test.Properties.Settings.TestManagerConnectionString"
connectionString="Data Source=|DataDirectory|DatabaseTestManager.sdf"
providerName="Microsoft.SqlServerCe.Client.3.5" />
如何获得连接字符串指向的路径?即:C:UsersnameAppData...等
为什么要将它移动到另一个目录?默认情况下,非管理用户无权在"程序文件"目录树中进行更改。AppData是一个特定于用户的存储(在网络托管配置文件的情况下),它指向网络上用户应用程序数据目录的适当目录。
如果您希望为多个用户共享数据,则存在All_Users数据目录。我不确定如何使用SqlCE连接字符串指定它。
下面是确定appdata目录的答案。
要设置DataDirectory属性,请调用AppDomain。SetData方法。如果未设置DataDirectory属性,则采用以下默认值规则将应用于访问数据库文件夹:
- 对于放在用户计算机文件夹中的应用程序,数据库文件夹使用应用程序文件夹。
- 对于在ClickOnce下运行的应用程序,数据库文件夹使用