我有一个.Net应用程序,它必须将所有本地数据存储在独立存储中。我想开始使用SQL CE来存储这些数据。我找不到任何关于如何(甚至可能)这样做的文件。
是否可以使用独立存储来存储SQL CE数据库?
如果是这样,连接字符串会是什么样子(或者还有其他一些方法需要打开数据库)?
答案 0 :(得分: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。这几乎打破了隔离存储的目的,所以我不推荐它。
答案 1 :(得分:0)
SQL Server CE不直接支持这一点;你必须使用不同的产品。除了VistaDB之外,如果您不需要关系数据库(它是一个对象数据库并且有一个独立的存储包装器),您还可以使用db4o。
您可以在技术上使用Reflection来获取隔离存储文件的完整路径,并将结果用在连接字符串中,但我猜想如果您需要使用独立存储,那么您的应用程序不会在完全信任。即使是这样,它仍然是一件危险的事情。尽管如此,如果你真的很绝望,你可以查看this thread有一个例子,其中包括创建一个流并反映包含文件名的流的一个私有字段。