我的SQLite数据库有一个虚拟表,该表是通过使用spelfix1.dll 1.dll扩展创建的。
是否有任何解决方案来加载这个扩展在模式?
当我试图创建图形时
schemacrawler --server=sqlite --database=/home/schcrwlr/share/database.db --info-level=minimum --command=list --output-file=/home/schcrwlr/share/output.png启动容器后,
C:\Users\user> docker run `
-v ${PWD}:/home/schcrwlr/share `
--name schemacrawler `
--rm -i -t `
--entrypoint=/bin/bash `
schemacrawler/schemacrawler:v16.16.6由于根据日志文件缺少扩展,Schemacrawler执行停止。
Caused by: schemacrawler.schemacrawler.exceptions.WrappedSQLException: Could not retrieve table columns for table <lang_store>: [SQLITE_ERROR] SQL error or missing database (no such module: spellfix1)和
Caused by: org.sqlite.SQLiteException: [SQLITE_ERROR] SQL error or missing database (no such module: spellfix1)我在Windows PowerShell on Win10工作。
Environment:
SchemaCrawler 16.16.6
Linux 5.10.16.3-microsoft-standard-WSL2
Oracle Corporation OpenJDK 64-Bit Server VM 17-ea+14
SQLite 3.36.0
SQLite JDBC 3.36.0.3发布于 2022-01-12 00:51:28
这更多地是关于SQLite JDBC驱动程序的问题,而不是关于SchemaCrawler的问题。SchemaCrawler Docker映像与SQLite JDBC驱动程序捆绑在一起,出于安全原因不允许读取外部扩展库。如果您真的想这样做,您必须使用SchemaCrawler的常规发行版,并在lib文件夹中提供扩展名DLL文件。或者,您可以基于SchemaCrawler Docker映像构建具有此扩展的自己的Docker映像。这一切似乎都太费劲了。
最好的方法是去掉虚拟表的架构,然后再次运行SchemaCrawler。请看一下用spellfix1表反射sqlite数据库的答案中的程序。
Sualeh Fatehi,SchemaCrawler
https://stackoverflow.com/questions/70653068
复制相似问题