我正在使用VS 2010为outlook 2010创建一个加载项。我正在寻找一种在本地存储数据的方法,我看到很多人都在建议使用Sql CE。我试了一下,继续遇到这个错误 文件名无效:数据源= | DataDirectory | \ data.sdf
string conString = Properties.Settings.Default.dataConn;
SqlCeConnection dbConn = new SqlCeConnection(conString);
try
{
using (SqlCeConnection con = new SqlCeConnection(conString))
{
con.Open();
}
}
catch(Exception e)
{
MessageBox.Show(e.ToString());
}
我使用了这里显示的教程: http://www.dotnetperls.com/sqlce
任何帮助将不胜感激!
感谢。
答案 0 :(得分:0)
| DataDirectory目录|是在运行时展开的连接字符串中的特殊变量。它扩展如下:
- For applications placed in a directory on the user machine, this will be the app's (.exe) folder.
- For apps running under ClickOnce, this will be a special data folder created by ClickOnce
- For Web apps, this will be the App_Data folder
这不适用于您的Outlook插件。我猜测它运行的上下文没有设置它的值。您可以尝试在连接字符串中提供数据库的完整路径(替换| DataDirectory |),或者使用以下命令动态设置Application Domain中DataDirectory的值:
AppDomain.CurrentDomain.SetData("DataDirectory", newpath)
有关详细信息,请查看Working with local databases。