连接SQL Server
发布时间:2020-12-14 17:10:06 所属栏目:大数据 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 import java.sql.Connectionimport java.sql.DriverManagerimport javax.sql.DataSourceimport groovy.sql.Sqldef cli = new CliBuilder( usage: 'gro
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 import java.sql.Connection import java.sql.DriverManager import javax.sql.DataSource import groovy.sql.Sql def cli = new CliBuilder( usage: 'groovy queryMSSQL.groovy -h -s sqlserverhost [-P port] -u userid -p password -v value -t textfile queryfile [queryfile]...') cli.h(longOpt:'help','usage information') cli.s(argName:'servername',longOpt:'server',args:1,required:true,type:GString,'sqlserverhost') cli.P(argName:'port',longOpt:'port',required:false,'port') cli.u(argName:'userid',longOpt:'userid','userid') cli.p(argName:'password',longOpt:'password','password') cli.v(argName:'value',longOpt:'value','value') cli.t(argName:'textfile',longOpt:'text','text file') def opt = cli.parse(args) if (!opt) return if (opt.h) cli.usage() def port = 1433 if (opt.P) port = opt.P // If the port was defined def servername = opt.s def userid = opt.u def password = opt.p def valuetobind = opt.v def textfile = opt.t def outFile def outFileWriter try { outFile = new File(textfile) outFile.write(""); // truncate if output file already exists } catch (Exception e) { println "ERROR: Unable to open $textfile for writing"; return; } driver = Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); Connection conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://$servername:$port",userid,password); try { if (args.length == 0) { usage_error = "Error: Invalid number of arguments" usage_error = "n$usage_errornUSAGE: groovy queryMSSQL.groovy queryfilen" throw new IllegalArgumentException(usage_error) } Sql sql = new Sql(conn) // After options processing the remaining arguments are query files // Go through the query files one at a time for execution for (queryfilename in opt.arguments()) { queryfile = new File(queryfilename) query = "" // initialize the query string param_count = 0 // Number of placeholders needed for parameters to query pattern = /?/ // pattern to look for to find number of parameters // read the query from the query file (line by line) and build it queryfile.eachLine { it -> query += " " + it } // number of bind variables to satisfy is obtained by number of ? seen in the query query.eachMatch(pattern) { param_count++ } println '-.' * 40 println "query is ${query}" println "Output is:" println '=' * 80 def count = 0 // row count paramlist = [] if (valuetobind != "none") 1.upto(param_count) { paramlist << valuetobind } sql.eachRow(query,paramlist) { row -> count++; // increment number of rows seen so far //println "$count. ${row.name}" // print out the column name recstr = "" // initialize the string that represents row meta = row.getMetaData() // get metadata about the row for (col in 0..<meta.columnCount) { // record is stored in a string called recstr if (recstr == "") { recstr = row[col] } else { recstr += "," + row[col] } } outFile.append(recstr + "n") } } conn.close() } catch(Exception e) { print e.toString() } finally { } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |