微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

groovy Exports all table names in database

In ant build file:

<path id=”groovy.classpath”>
<fileset dir=”${java.groovy}/lib”>
<include name=”*.jar”/>
</fileset>
<fileset dir=”${java.groovy}/embeddable”>
<include name=”*.jar”/>
</fileset>
<pathelement location=”${ext.libs.oracle}/classes12.zip”/>
</path>

<taskdef name=”groovy”
classname=”org.codehaus.groovy.ant.Groovy”
classpathref=”groovy.classpath”/>

<target name=”export.schema.to.file”>
<groovy src=”scripts/export.db.gy”>
<arg line=”${db.url} ${db.schema.owner} ${db.schema.password} ${fileName}”/>
</groovy>
</target>

Groovy script:

import groovy.sql.sql
import oracle.jdbc.OracleDriver

println “db.url:  ” + args[0]
println “db.schema.ownver:  ” + args[1]
println “FileName: ” + args[3]

sql = sql.newInstance(args[0],args[1],
args[2],“oracle.jdbc.OracleDriver”);

new File(args[3]).delete()
new File(args[3]).createNewFile()
def writer=new File(args[3]).newWriter()
sql.eachRow(”SELECT TABLE_NAME FROM user_tables order by TABLE_NAME asc”,{writer.writeLine(it.TABLE_NAME)});
writer.close();

List a =[]
new File(args[3]).eachLine{ line -> a.add(line) }

println(”Total number of tables:  ” + a.size());

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐