SQLite:到资源文件的数据库连接

本文关键字:数据库连接 源文件 资源 SQLite | 更新日期: 2023-09-27 18:04:08

我正在创建一个需要使用SQLite连接到数据库文件的dll。不幸的是,由于我的dll被用作Excel插件,我真的没有机会找出我的dll所在的路径(应用程序引用Excel安装文件夹,所有的反射)。组装的东西链接到Windows'GAC文件夹或其他东西)。所以长话短说,我不能只是把我的SQLite文件到我的。dll文件夹,因为它不会被发现,当只是使用一个相对路径的连接字符串,例如。"数据源= myfile。SQLite",我也无法找出原始dll的完整路径,因为dll被用作Excel插件。

我的想法是将SQLite文件添加到我的项目资源中,但我不知道如何使用常规SQLite连接字符串连接到项目资源..这是否可能?如果不是,还有其他办法吗?

谢谢!

SQLite:到资源文件的数据库连接

有许多不太理想的解决方案:

1)在一个约定的位置打开/创建sqlite数据库,例如C:'Data。这可能不是理想的,但是SQLite需要一个实际的数据文件,它不能直接使用资源或隔离的存储(有其他数据库可以这样做,参见#3)。

2)使用隔离存储,并在启动时将数据从隔离存储复制到临时位置,当应用程序关闭(或其他"持久化事件")时,将文件复制回隔离存储。

3)使用支持隔离存储的数据库,如VistaDB。明显的缺点是许可证成本(虽然很小)。