从
FILE_READ文档中:
支持文件名和URL。要从类路径中读取流,请使用前缀类路径:
似乎不可能使用相对路径;那么可能的解决方案是在中包含具有所需二进制内容的文件,
classpath然后使用
classpath:in进行访问
FILE_READ。这样,您可以将其部署在任何其他计算机上,而不必担心绝对路径。
通过代码使用Runscript
因此,如果在执行测试之前,通过使用类似以下代码的代码来设置运行脚本的数据库:
Runscript.execute(conn, new FileReader("yourscript.sql"));
然后以
logo.png这种方式将s作为项目资源添加,您可以在脚本中使用
classpath:表示法引用它:
FILE_READ('classpath:/your/package/resource/logo.png')。
使用Runscript
命令行工具
如果使用命令行工具,则可以创建一个 .jar 来打包资源,例如
resource.jar,并将其添加到
classpath您的cmd中:
java -cp h2*.jar;resource.jar org.h2.tools.Runscript -url jdbc:h2:~/test-script yourscript.sql
然后,与脚本中的前一种情况一样,您可以使用
FILE_READ('classpath:/your/package/resource/logo.png')
希望能帮助到你,
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)