Think it's the shell redirect "<" which won't work when you try to run it as a process (same as with Java)
Think this should work:
def sout = new StringBuffer()
def serr = new StringBuffer()
def proc = 'mysql -ubbb -pbbb aaa'.execute()
proc.consumeProcessOutput( sout, serr )
proc.withWriter { writer ->
writer << new File( 'createdb.sql' ).text
}
proc.waitFor()
println "sout: $sout"println "serr: $serr"
Tim
On Fri, Feb 5, 2010 at 9:18 PM, Jason Mayer
<slamboy@gmail.com> wrote:
Groovy Version: 1.7.0 JVM: 1.6.0_18
mysql-connector-java-3.1.14-bin.jar
import groovy.sql.Sql
def getConn() {
def sql = Sql.newInstance("jdbc:mysql://localhost:3306/aaa", "bbb",
"bbb", "com.mysql.jdbc.Driver")
sql
}
def sql = getConn()
def setupAllTables(sql) {
"mysql -ubbb -pbbb aaa < createdb.sql".execute().waitFor() //does
nothing, if I run that from the command line it works correctly.
sql.execute("source /my/path/to/the/file/createdb.sql") //fails,
works from a mysql prompt
}
I'm trying to set up a known working set of data in the database
during my startup script due to a bug I spent far too long
troubleshooting. How do I do this from within groovy?
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email