H2 RunScript执行SHOW TABLES未找到表的问题排查
问题分析与解决方案
JDBC URL格式错误
你在命令行中使用的JDBC URLjdbc:h2:./agentdb-dev.mv.db存在关键问题。H2的文件模式URL不需要包含.mv.db后缀——这个后缀是H2自动为数据库文件生成的扩展名。当你指定带后缀的URL时,H2会尝试创建一个名为agentdb-dev.mv.db.mv.db的新空数据库,自然查询不到任何表。修正后的正确命令应为:
java -cp ./h2-1.4.200.jar org.h2.tools.RunScript -url 'jdbc:h2:./agentdb-dev' -script showtable.sql -showResults其他可能的差异排查点
如果修正URL后问题仍存在,需检查以下细节:- 用户名/密码:Web控制台默认使用
sa账号(无密码),确保命令行指定了相同的认证信息,可添加参数-user sa -password ""。 - 数据库Schema:若表存在于非默认Schema中,需在
SHOW TABLES语句中指定Schema(如SHOW TABLES FROM YOUR_SCHEMA;),或在URL中追加;SCHEMA=YOUR_SCHEMA参数。 - 工作目录:确认命令行执行的目录与Web控制台运行目录一致,避免相对路径指向不同的数据库文件。
- 用户名/密码:Web控制台默认使用
内容的提问来源于stack exchange,提问作者Mike Cooper
相关产品推荐
相关产品推荐

