gpt4 book ai didi

c# - SQLite + SpatiaLite 问题

转载 作者:IT王子 更新时间:2023-10-29 06:22:34 28 4
gpt4 key购买 nike

我正在尝试使用 System.Data.SQLite 提供程序从 C# 访问 SpatiaLite。当我尝试加载 SpatiaLite 扩展时,我总是得到

System.Data.SQLite.SQLiteException: SQLite error
The specified module could not be found.

错误,即使 spatialite 的 dll 已被复制到 bin 目录。我什至尝试指定 dll 的绝对路径,但无济于事。

代码如下:

string connectionString = @"Data Source=D:\MyStuff\projects\OsmUtils\trunk\Data\Samples\DB\osm.sqlite";
using (SQLiteConnection connection = new SQLiteConnection (connectionString))
{
connection.Open();

using (SQLiteCommand command = connection.CreateCommand())
{
command.CommandText = @"SELECT load_extension('libspatialite-1.dll');";
command.ExecuteScalar();
}
...

来自 this link我觉得这应该有效。

提前致谢

最佳答案

好吧,感谢 sqlite3.exe 命令行工具,我发现运行它需要一些额外的 DLL:

  • libproj-0.dll
  • libgeos-3-1-1.dll
  • libgeos_c-1.dll

您可以在 SpatiaLite's download page 上找到这些.只需将它们复制到 bin 目录即可。

更新:需要一个额外的 dll 是 libiconv2.dll

关于c# - SQLite + SpatiaLite 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1556436/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com