使用TinyTds Ruby Gem解析并运行.sql脚本

时间:2012-06-25 15:06:00

标签: sql ruby

我正在为按钮夜间部署自动部署数据库脚本。我的第一种方法是在Windows终端上使用sqlcmd,将结果保存到txt文件,并解析它以确保脚本成功。解析文件并找到返回代码是有问题的,所以我转向TinyTds。这是我的代码:

      client = TinyTds::Client.new(:username => DB_USER, :password => DB_PASSWORD, :dataserver => DB_SERVERNAME, :timeout => 1200)
      result = client.execute(IO.read(filename))
      puts result.return_code

产生nil或以下错误(取决于.sql脚本的内容)

    run_sql.rb:24:in `execute': Attempt to initiate a new Adaptive Server operation with results pending (TinyTds::Error)

更改

    result = client.execute(IO.read(filename))

    result = client.execute(IO.read(filename)).do

产量

    run_sql.rb:26:in `do': Incorrect syntax near 'go'. (TinyTds::Error)

1 个答案:

答案 0 :(得分:1)

我认为您的答案将依赖于您尝试提供给TinyTDS的SQL。也许批处理的格式不正确。您也可能只想result = client.execute(data).each