使用Java从.sql文件中提取SQL命令

时间:2011-11-01 16:28:10

标签: java sql

我需要使用java从.sql文件中获取SQL命令。

该文件在开头包含带“ - ”的行,因此理想情况下它会忽略这些行。

我已经研究过使用.useDelimiter(“(;(\ r))?\ n)|( - \ n)”);

我需要使用while循环来读取文件并找到SQL命令并在找到它们时执行它们。我看过的例子似乎都不高效。

对此的任何帮助将非常感激:)

1 个答案:

答案 0 :(得分:2)

你确定你真的想要这个吗?使用特定于DB的命令行实用程序来运行此脚本要容易得多。

例如,对于MySql,命令行为mysql -uUSER -pPASSWORD < a.sql 它简单,快速,100%工作。如果您想从java运行它,请使用Runtime.getRuntime().exec()ProcessBuilder

逐行读取SQL文件并忽略注释(使用正则表达式'^ - '或line.startsWith("--")不是问题。查找每个文件的开头和结尾都是一个问题。 SQL语句。此外,你不能单独从脚本运行语句.SQL支持变量。一个语句可以定义变量,其他可以使用它。另见@Matt Fenwick写的内容。