2010-05-07 59 views
2

我有一个.Net应用程序,它必须将所有本地数据存储在独立存储中。我想开始使用SQL CE来存储这些数据。我无法找到任何关于如何(或者甚至是)这是可能的文档。有没有办法在独立存储中存储和访问SQL CE(.sdf)数据库?

  1. 是否可以使用独立存储来存储SQL CE数据库?

  2. 如果是这样,连接字符串会是什么样子(或者您需要打开数据库的其他方式)?

+0

我不能说明确的,但我认为你与SQL CE +隔离存储运气不佳。可能想看看VistaDB。 http://stackoverflow.com/questions/108399/what-embedded-database-with-isolated-storage-support-can-you-recommend – 2010-05-07 03:51:36

回答

1

看来SqlCe不支持独立存储。看到这些问题。

https://stackoverflow.com/questions/108399/what-embedded-database-with-isolated-storage... What are the advantages of VistaDB

VistaDB的看起来像一个更好的选择。或者,您可以在使用IS API的情况下设置某种破解方式,将SDF(SQlCe)文件从独立存储中复制到普通文件系统中的某个位置,在该位置中您可以正常进行交互,然后复制SDF文件回到IS。这几乎违背了孤立存储的目的,所以我不会推荐它。

0

SQL Server CE不直接支持此;你必须使用不同的产品。除VistaDB之外,如果您不需要关系数据库(它是一个对象数据库并具有独立的存储包装),则还可以使用db4o

您可以在技术上使用Reflection来获取隔离存储文件的完整路径,并将结果用于连接字符串中,但我猜测如果您需要使用独立存储,则应用程序未运行完全信任。即使是这样,它仍然是一件危险的事情。尽管如此,如果你真的绝望了,你可以看看this thread有一个例子,它涉及到创建一个流并反映包含文件名的流的私有字段之一。

相关问题