SqlServerCe文件名无效

时间:2011-03-08 20:19:40

标签: c# sql-server-ce

我正在使用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

任何帮助将不胜感激!

感谢。

1 个答案:

答案 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